php recepcion de datos y guardado en mysql, no encuentro el error

Iniciado por Pirat3net, 6 Abril 2012, 09:31 AM

0 Miembros y 1 Visitante están viendo este tema.

Pirat3net

Código (php) [Seleccionar]
<?php
// $sdate=date("d")."/".date("m")."/".date("Y");

//$stime=date("h").":".date("i");

   

       

        
$link mysql_connect("**********","*********","*********");
        
mysql_select_db("***********",$link);

        
        
mysql_query("INSERT INTO clanes (nombreClan,tag,miembro1,miembro2,miembro3,miembro4,miembro5,fechaCreacion)
        VALUES ('
{$_POST['nombreClan']}','{$_POST['tag']}','{$_POST['miembro1']}','{$_POST['miembro2']}','{$_POST['miembro3']}','{$_POST['miembro4']}','{$_POST['miembro5']}'{$stime}')",$link);

        
// Ahora comprobaremos que todo ha ido correctamente
        
$my_error mysql_error($link);

        if(!empty(
$my_error)) {

            echo 
"Ha habido un error al insertar los valores. $my_error";

        } 

?>



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

fran800m

Antes de nada mete la consulta en una variable y haz echo de esa variable a ver que estas intentando ejecutar.

Pirat3net

paso la pagina poque creo que quedara todo mas claro http://folele.webatu.com/  hay que pinchar en la pestaña inscribete

|Miguel|

Aquí:
Código (php) [Seleccionar]
mysql_query("INSERT INTO clanes (nombreClan,tag,miembro1,miembro2,miembro3,miembro4,miembro5,fechaCreacion)
        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 (php) [Seleccionar]
VALUES ('".{$_POST['nombreClan']}."','!.
Pruébalo a ver. Saludos.

Pirat3net

Código (php) [Seleccionar]
VALUES ('".{$_POST['nombreClan']}."','!".{$_POST['tag']}."','!{$_...
no creo que sea asi xD, el dreamwaver me da error , de todas formas, la exclamacion no indica negacion?

jhonatanAsm

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.
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.

Pirat3net

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

:ohk<any>

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 (php) [Seleccionar]
$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 (php) [Seleccionar]
$consulta = "INSERT INTO clanes VALUES(NULL, '$nclan', '$etc', '$etc', '$etc', '$etc', '$etc')";

Y etc, :xD

Luego realizas el:

Código (php) [Seleccionar]
mysql_query($consulta, $conexion) or die(mysql_error());

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

Código (php) [Seleccionar]
if(mysql_query($consulta, $conexion)){
    echo "Something";
}else{
    echo "Wrong, etc etc";
}


y asi...  :silbar: ;-)

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.

:ohk<any>

Por cierto, no pude evitar ver tu codigo comentado:

Código (php) [Seleccionar]
//$stime=date("h").":".date("i");

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

Código (php) [Seleccionar]

$stime=date("h:i");
$fdate = date("d-m-Y");


Y asi...  ;-)
Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.

:ohk<any>

Solucion:

Código (php) [Seleccionar]

$link = mysql_connect("xxx","xxx","xxx");
mysql_select_db("xxx",$link);

$consulta = "INSERT INTO clanes (nombreClan,tag,miembro1,miembro2,miembro3,miembro4,miembro5)
VALUES ('$nombreClan','$tag','$miembro1','$miembro2','$miembro3','$miembro4','$miembro5')";

if(mysql_query($consulta, $link)){
 $sucess = TRUE;
}else{
 $sucess = FALSE;
}

if($sucess){
 echo "Consulta realizada con exito.";
}


Saludos
Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.