Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Pirat3net en 6 Abril 2012, 09:31 am



Título: php recepcion de datos y guardado en mysql, no encuentro el error
Publicado por: Pirat3net en 6 Abril 2012, 09:31 am
Código
  1. <?php
  2. // $sdate=date("d")."/".date("m")."/".date("Y");
  3.  
  4. //$stime=date("h").":".date("i");
  5.  
  6.  
  7.  
  8.  
  9.  
  10.        $link = mysql_connect("**********","*********","*********");
  11.        mysql_select_db("***********",$link);
  12.  
  13.  
  14.        mysql_query("INSERT INTO clanes (nombreClan,tag,miembro1,miembro2,miembro3,miembro4,miembro5,fechaCreacion)
  15.        VALUES ('{$_POST['nombreClan']}','{$_POST['tag']}','{$_POST['miembro1']}','{$_POST['miembro2']}','{$_POST['miembro3']}','{$_POST['miembro4']}','{$_POST['miembro5']}'{$stime}')",$link);
  16.  
  17.        // Ahora comprobaremos que todo ha ido correctamente
  18.        $my_error = mysql_error($link);
  19.  
  20.        if(!empty($my_error)) {
  21.  
  22.            echo "Ha habido un error al insertar los valores. $my_error";
  23.  
  24.        }
  25.  
  26. ?>


e aqui el error
Ha habido un error al insertar los valores. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''hbjh'')' at line 2


dios tengo la cabeza hecha un lio, alguien que sepa sobre bases de datos y php con teamspeak3 podria mandarme mensage privado y le paso la ip del ts3???   gracias, de verdad me ara un gran favor


Título: Re: php recepcion de datos y guardado en mysql, no encuentro el error
Publicado por: fran800m en 6 Abril 2012, 15:40 pm
Antes de nada mete la consulta en una variable y haz echo de esa variable a ver que estas intentando ejecutar.


Título: Re: php recepcion de datos y guardado en mysql, no encuentro el error
Publicado por: Pirat3net en 6 Abril 2012, 20:09 pm
paso la pagina poque creo que quedara todo mas claro http://folele.webatu.com/  hay que pinchar en la pestaña inscribete


Título: Re: php recepcion de datos y guardado en mysql, no encuentro el error
Publicado por: |Miguel| en 6 Abril 2012, 20:35 pm
Aquí:
Código
  1. mysql_query("INSERT INTO clanes (nombreClan,tag,miembro1,miembro2,miembro3,miembro4,miembro5,fechaCreacion)
  2.        VALUES ('{$_POST['nombreClan']}','{$_POST['tag']}','{$_POST['miembro1']}','{$_POST['miembro2']}','{$_POST['miembro3']}','{$_POST['miembro4']}','{$_POST['miembro5']}'{$stime}')",$link);

Tienes que concatenar la parte de los valuies. Te hago uno de ejemplo:
Código
  1. VALUES ('".{$_POST['nombreClan']}."','!.
Pruébalo a ver. Saludos.


Título: Re: php recepcion de datos y guardado en mysql, no encuentro el error
Publicado por: Pirat3net en 6 Abril 2012, 22:45 pm
Código
  1. VALUES ('".{$_POST['nombreClan']}."','!".{$_POST['tag']}."','!{$_
...
no creo que sea asi xD, el dreamwaver me da error , de todas formas, la exclamacion no indica negacion?


Título: Re: php recepcion de datos y guardado en mysql, no encuentro el error
Publicado por: jhonatanAsm en 6 Abril 2012, 23:39 pm
fail de miguel,

puedes hacerlo así:

$a=$_POST['nombreClan'];

"insert into tabla (columna1,etc...) values( '$a' ,etc...

el detalle es que hay en juego muchas comillas, y si keres mandar las variables post a la consulta no me extrañaría que tengas que escapar unas cuantas comillas.


Título: Re: php recepcion de datos y guardado en mysql, no encuentro el error
Publicado por: Pirat3net en 7 Abril 2012, 01:03 am
lo cambio y lo cambio y me sigue dando error,
http://folele.webatu.com/formulario.php
ese es el formulario que manda datos a el codigo php, al rellenarlo da un error que no descifro...
de sintaxys dice....  no puedo con esto


Título: Re: php recepcion de datos y guardado en mysql, no encuentro el error
Publicado por: :ohk<any> en 7 Abril 2012, 01:55 am
Vaya despues de mucho veo una consulta asi...

Primero debes tomarte la molestia de recibir los $_POST en respectivas variables y si las revisas antes seria bueno ej:

Código
  1. $nclan = $_POST['nombreClan'];

A esto puedes agregar unas funciones que tiene el php para recibirla de forma segura y/o con la sintaxis deseada.

Luego recien hacemos la consulta:

Código
  1. $consulta = "INSERT INTO clanes VALUES(NULL, '$nclan', '$etc', '$etc', '$etc', '$etc', '$etc')";

Y etc, :xD

Luego realizas el:

Código
  1. mysql_query($consulta, $conexion) or die(mysql_error());

O si prefieres haces esto para verificar si la consulta esta bien:

Código
  1. if(mysql_query($consulta, $conexion)){
  2.    echo "Something";
  3. }else{
  4.    echo "Wrong, etc etc";
  5. }

y asi...  :silbar: ;-)



Título: Re: php recepcion de datos y guardado en mysql, no encuentro el error
Publicado por: :ohk<any> en 7 Abril 2012, 01:58 am
Por cierto, no pude evitar ver tu codigo comentado:

Código
  1. //$stime=date("h").":".date("i");

No hace falta que concatenes con "", porque la funcion date ya te lo permite:

Código
  1. $stime=date("h:i");
  2. $fdate = date("d-m-Y");
  3.  

Y asi...  ;-)


Título: Re: php recepcion de datos y guardado en mysql, no encuentro el error
Publicado por: :ohk<any> en 7 Abril 2012, 05:21 am
Solucion:

Código
  1. $link = mysql_connect("xxx","xxx","xxx");
  2. mysql_select_db("xxx",$link);
  3.  
  4. $consulta = "INSERT INTO clanes (nombreClan,tag,miembro1,miembro2,miembro3,miembro4,miembro5)
  5. VALUES ('$nombreClan','$tag','$miembro1','$miembro2','$miembro3','$miembro4','$miembro5')";
  6.  
  7. if(mysql_query($consulta, $link)){
  8.  $sucess = TRUE;
  9. }else{
  10.  $sucess = FALSE;
  11. }
  12.  
  13. if($sucess){
  14.  echo "Consulta realizada con exito.";
  15. }
  16.  

Saludos


Título: Re: php recepcion de datos y guardado en mysql, no encuentro el error
Publicado por: |Miguel| en 7 Abril 2012, 13:04 pm
Código
  1. VALUES ('".{$_POST['nombreClan']}."','!".{$_POST['tag']}."','!{$_
...
no creo que sea asi xD, el dreamwaver me da error , de todas formas, la exclamacion no indica negacion?

Esto lo tengo funcionando:
$query="insert into usuario (mail, password) values('" . $mail . "', '" . $contrasena. "' )";
tep_db_query($query);

La exclamación se me ha colado y las comillas están al reves, sorry xD