MySQL - Error maldito sql creo es sencillo

 
Vista:

Error maldito sql creo es sencillo

Publicado por Logan_Snake (2 intervenciones) el 19/02/2009 00:05:24
Así es compañeros el mysql me tira un error al hacer esto:

$no_reg=10;
$i=0;
while($i<$no_reg)
{
mysql_query("INSERT INTO producto(idorden,cantidad,unidad,concepto,paquetes)
VALUES($idorden,$cantidad[$i],$unidad[$i],$concepto[$i],$paq[$i])",$conexion)
or die("NO SE INSERTO LA ORDEN DE LOS PRODUCTOS".mysql_error());
$i++;
}[

y me dice:

NO SE INSERTO LA ORDEN DE LOS PRODUCTOSYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 2

pero LO RARO ES QUE SI quito "paquetes" y $paq[$i]" si funciona y mete los datos de manera correcta,

ayudenme por favor.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco

RE:Error maldito sql creo es sencillo

Publicado por Francisco (21 intervenciones) el 19/02/2009 06:51:07
Quizas no estes respetando el orden en el que estan los campos dentro de la tabla, con el orden dentro de la consulta, y por otro lado: que tipo de dato es paquetes?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error maldito sql creo es sencillo

Publicado por lOGAN_sNAKE (2 intervenciones) el 19/02/2009 17:47:11
A continuacion la estructura de mi tabla:

idproducto INTEGER
idorden INTEGER
cantidad VARCHAR
unidad "
concepto "
paquetes "
totalpaq "
punit "
importe "
y lo programo asi:

$conexion=mysql_connect("localhost","usuario","clave")
or die("Problemas en la conexion");
mysql_select_db("base de datos",$conexion)
or die("Problemas en la seleccion de la base de datos");

for($i=0;$i<$no_reg;$i++)
{
mysql_query( "INSERT INTO producto(idorden,cantidad,unidad,concepto,paquetes)
VALUES($idorden,{$cantidad[$i]},{$unidad[$i]},{$concepto[$i]},{$paq[$i]})" ,$conexion)
or die("NO SE INSERTO LA ORDEN DE LOS PRODUCTOS".mysql_error());
}

y me sigue arrojando el error, aunque solo inserto hasta paquetes(y es lo mismo si trato de meter datos en todos los campos, pero vuelvo a lo mismo si quito "{$paq[$i]}" y paquetes, de todas formas lanza lo siguiente:

NO SE INSERTO LA ORDEN DE LOS PRODUCTOS 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 ')' at line 2

alguna idea?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error maldito sql creo es sencillo

Publicado por Emiliano (98 intervenciones) el 19/02/2009 18:42:59
Un consejo ya que esto te va a pasar varias veces porque me paso a mi.
Lo que yo hago cuando me salta un error de este tipo hago

$sAux = "INSERT INTO producto(idorden,cantidad,unidad,concepto,paquetes)
VALUES($idorden,{$cantidad[$i]},{$unidad[$i]},{$concepto[$i]},{$paq[$i]})";
echo $sAux;

Para ver la consulta sql y ver bien donde esta el error , por ahy te podes olvidar una coma , espacio, comilla y viendo la consulta Sql te das cuenta y obvio despues es mas facil corregir tu codigo php.

Suerte espero que te sirva .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error maldito sql creo es sencillo

Publicado por Juan Manuel Castañeda (62 intervenciones) el 27/02/2009 22:13:29
Verifique en la definicinicion de la tabla si idorden es not null, si lo es desde PHP debe pasarle valor.
Los campos varchar deben encerrarse entre comillas simples.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar