entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

error mysql metodo post

Cuando quiero enviar la informacion a registrar me sale el sig error:

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 'Orden de Compra', '154', 'sdfgdfgdsfg'', 'Departamento', '2014-12-08', 'ninguno'' at line 1

no entiendo porque lo hace al quitar el metodo registra todo en blanco pero al ponerle el metodo sale ese error

0voto

Leonardo-Tadei comentado

Podrías poner la porción de código que genera la query?
El error que te da es un error de sintaxis SQL, así que lo que está pasando es que estás armando mal la query que estás ejecutando...

0voto

romancoronadoa comentado

si entiendo eso pero no se en que parte me estoy equivocando esta es la la parte de donde se hace la query

 <?php
 include 'nav-usuario.php';
 $usr = "wearbyte_root";
 $p3s3 = "alvaroobregon1930";
 $dtb = "wearbyte_almacen";
 $link = mysql_connect("localhost", $usr, $p3s3);
 mysql_select_db($dtb, $link);

 $query = "INSERT INTO entradas (producto, cantidad, unidad, concepto, comentario, referencia, origen, fecha) VALUES ('$_GET[producto]', '$_GET[cantidad]', '$_GET[unidad]', '$_GET[concepto]', '$_GET[comentario]', '$_GET[referencia]', '$_GET[origen]', '$_GET[fecha]')";
 mysql_query($query, $link);
 if (mysql_query($query, $link)) {
      echo "
           <div class='container'>
                <div class='alert alert-success'>Registro completado<br><br>
                     <a href='javascript:history.back()'>
                          <button class='btbn btn-p     rimary'>Regresar</button>
                     </a>
                </div>
           </div>
      ";
 }
 else{
      die(mysql_error());
 }
?>

0voto

white comentado

Yo veo un error por una coma simple ( 'sdfgdfgdsfg' ' <--- ) , estas escapando correctamente los valores? intenta usar htmlspecialchars($_POST['campo'])

0voto

romancoronadoa comentado

Gracias! white ese era el problema viene de parte del form

1 Respuesta

0voto

Leonardo-Tadei Puntos227320

Parece que tenés mal el orden de los campos. En tu query la fecha es el último, pero en los datos el último es "ninguno". Cuando hacés una query con la forma (campo1, campo2, campoN) VALUES (valor1, valor2, valorN), los valores tienen que coincidir con los campos, a diferencia de cuando la hacés con la sintaxis SET campo1=valor1, campo2=valor2, campoN=valorN.

Podríamos decirte exactamente dónd está el error si antes del IF ponés

print("La query es: $query");

y nos enviás copiando y pegando la salida de todo ese print()

Saludos!

0voto

romancoronadoa comentado

Gracias por tu comentario. sale el sig. mensaje

La query es: INSERT INTO entradas (producto, concepto, cantidad, unidad, origen, fecha, referencia, comentario) VALUES ('Pluma'', 'Orden de Compra', '25', 'sdfgdfgdsfg'', 'Departamento', '2014-12-08', 'ninguno', 'ninguno')

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 'Orden de Compra', '25', 'sdfgdfgdsfg'', 'Departamento', '2014-12-08', 'ninguno',' at line 1

0voto

Leonardo-Tadei comentado

El error de sintaxis de la query está en que el primer valor, que en este caso puntual es Pluma, empieza con comillas simples pero cierra con comillas dobles. Tenés que cerrar y abrir las mismas comillas, ya sean simlpes o dobles!

El error lo marca después porque al empezar ese string con comillas simples, el cierre del mismo será la comilla simple antes de la O de Orden de Compra y el parser detecta que hay una O incorrecta en vez de una coma o del cierre del paréntesis.

El resto luce bien, aunque no parece la misma versión de la consulta original.

Saludos cordiales!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta