Foros del Web » Programando para Internet » PHP »

INSERT no guarda los datos

Estas en el tema de INSERT no guarda los datos en el foro de PHP en Foros del Web. Hola, ¿Que tal? Tengo este código para insertar los datos en una tabla mysql, no da ningún error, pero tampoco inserta los datos. Tengo otro ...
  #1 (permalink)  
Antiguo 21/02/2007, 15:22
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
INSERT no guarda los datos

Hola, ¿Que tal?

Tengo este código para insertar los datos en una tabla mysql, no da ningún error, pero tampoco inserta los datos.

Tengo otro código de otro INSERT, que es igual a este y ese funciona, bueno es igual en sintaxis, la única diferencia que podria mencionar es que los campos id_proveedores, id_documentos y id_glosa, en el formulario son SELECT OPTION obtenidos desde otras tablas, osea rellenados con datos de otras tablas y seleccionado una de las opciones. ¡Puede ser esa la razón por la cual no efectua los insert?.

Código:
$sql = mysql_query("INSERT INTO inv_compras (id_producto,id_proveedor,fecha_compra,id_documento,nro_documento,cantidad,costo,id_glosa) values ('{$_POST['id_producto']}','{$_POST['id_proveedor']}','{$_POST['fecha_compra']}','{$_POST['id_documento']}','{$_POST['nro_documento']}','{$_POST['cantidad']}','{$_POST['costo']}','{$_POST['id_glosa']}')");
Cualquier ayuda se agradece.

Claudio González Soto
Valparaíso - Chile
  #2 (permalink)  
Antiguo 21/02/2007, 15:27
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: INSERT no guarda los datos

Una prueba:

Código PHP:
<?php
$sql 
"INSERT INTO inv_compras (id_producto,id_proveedor,fecha_compra,id_documento,nro_documento,cantidad,costo,id_glosa) values ('{$_POST['id_producto']}','{$_POST['id_proveedor']}','{$_POST['fecha_compra']}','{$_POST['id_documento']}','{$_POST['nro_documento']}','{$_POST['cantidad']}','{$_POST['costo']}','{$_POST['id_glosa']}')";
mysql_query($sql) or die(mysql_error());

echo 
$sql;
?>
Pruebalo y muestra los resultados.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #3 (permalink)  
Antiguo 21/02/2007, 15:44
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: INSERT no guarda los datos

Gracias por tu respuesta.

Hice lo que me recomendaste, pero no funcionó, sin dar ningun tipo de error
  #4 (permalink)  
Antiguo 21/02/2007, 16:03
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: INSERT no guarda los datos

y que mostro por pantalla?
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #5 (permalink)  
Antiguo 21/02/2007, 16:19
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: INSERT no guarda los datos

No muestra nada
  #6 (permalink)  
Antiguo 21/02/2007, 16:20
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Re: INSERT no guarda los datos

Prueba haciendolo de esta manera:
Código PHP:
$sql "INSERT INTO inv_compras ( id_producto, id_proveedor, fecha_compra, id_documento, nro_documento, cantidad, costo, id_glosa ) VALUES ( '".$_POST['id_producto']."', '".$_POST['id_proveedor']."', '".$_POST['fecha_compra']."', '".$_POST['id_documento']."', '".$_POST['nro_documento']."','".$_POST['cantidad']."', '".$_POST['costo']."', '".$_POST['id_glosa']."' ) ";
$res mysql_query$sql ) or die( mysql_error() ); 
Si te funciono es que estabas poniendo comillas simples dentro de comillas simples, algo que no se puede hacer.
Si no te funciono deberías de checar los tipos de campo que tienes porque como los estas intentando guardar significa que todos los campos son de tipo texto, si son de tipo número no deverías de encerrar esos campos entre comillas simples, por ejemplo:
Si id_producto es de tipo autoincrement no deverías intentar guardarlo de esta forma: '".$_POST['id_producto']."'; sino de esta otra ".$_POST['id_producto'].".
Espero haberme dado a entender y que esto te haya servido por lo menos para darte una idea.
Además, si se te genera un error en pantalla deberías de mostrarnoslo para que podamos ayudarte mejor. Suerte
  #7 (permalink)  
Antiguo 21/02/2007, 16:49
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: INSERT no guarda los datos

Cita:
Iniciado por claudio_hbl Ver Mensaje
No muestra nada
¿Como que no mostro nada?, si yo en el codigo puse un echo...

Evidentemente ese codigo no se esta ejecutando, o no lo copiaste tal cual lo deje.


Cita:
Iniciado por Erikfrancisco Ver Mensaje
Si te funciono es que estabas poniendo comillas simples dentro de comillas simples, algo que no se puede hacer.
Pero esta "escapando" el nombre de las variables con {}, creo qu een ese caso no hay problema con las comillas.


Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #8 (permalink)  
Antiguo 21/02/2007, 16:49
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: INSERT no guarda los datos

No, no muestra ningún error, ahora uso tablas innobd, y no uso autoincrement, pero si todos los id_?? son del tipo INT
  #9 (permalink)  
Antiguo 21/02/2007, 16:57
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: INSERT no guarda los datos

Entiende esto, si el codigo se ejecutara...

Código PHP:
<?php
$sql 
"INSERT INTO inv_compras (id_producto,id_proveedor,fecha_compra,id_documento,nro_documento,cantidad,costo,id_glosa) values ('{$_POST['id_producto']}','{$_POST['id_proveedor']}','{$_POST['fecha_compra']}','{$_POST['id_documento']}','{$_POST['nro_documento']}','{$_POST['cantidad']}','{$_POST['costo']}','{$_POST['id_glosa']}')";
mysql_query($sql) or die(mysql_error());

echo 
$sql;
?>
Al menos te apareceria por pantalla

INSERT INTO inv_compras (id_producto,id_proveedor,fecha_compra,id_document o,nro_documento,cantidad,costo,id_glosa) values ('','','','','','','','')

Pero no te está saliendo nada, conclusion.. el codigo no se está ejecutando, por lo menos la parte de echo $sql.

Si el codigo esta dentro de un condicional, verifica que se cumpla su condicion. Coloca echo "algo" en lugares "estrategicos" para saber qu ese ejecuta y que no. Verifica d epaso, no tener desactivado el reporte de errores:

error_reporting(1);
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #10 (permalink)  
Antiguo 21/02/2007, 17:01
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Re: INSERT no guarda los datos

creo que me equivoque donde te puse:
Código PHP:
$res mysql_query$sql ) or die( mysql_error() ); 
Debería de ser:
Código PHP:
$res mysql_query$sql ) or die( echo mysql_error() ); 
y ahora sí deberías de ver en pantalla el error que se genera.
Por favor muestra cual es ese error. Además de tomar en cuenta lo que ya te comente con respecto a los campos que no son texto. Suerte
  #11 (permalink)  
Antiguo 21/02/2007, 17:06
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: INSERT no guarda los datos

OK, eso es lo que hice, verifique que los POST del formulario me estuviera pasando y solo me pasa algunos, los datos que yo ingreso por teclado, los pasa bien, los que no pasa son los que se seleccionan en el OPTION que son rellenados desde otras tablas, los id_proveedor, id_documento e id_glosa.

este es el codigo del formulario

Código:
<label for="id_proveedor">ID Proveedor : </label><select name="id_proveedor" />
<? while ($row = mysql_fetch_array($result)){ ?>
<option value="-" selected><? echo "$row[nombre]"; ?> </option><? } ?></select><br />
  #12 (permalink)  
Antiguo 21/02/2007, 17:19
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: INSERT no guarda los datos

me da la impresión que en el <option value="-" tengo esto, ¿Esta Bien eso? o ¿como hago para poner el nombre del campo ahi?
  #13 (permalink)  
Antiguo 21/02/2007, 19:32
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: INSERT no guarda los datos PROBLEMA SOLUCIONADO

La solucion al problema era en el formulario, no pasaba las variables de los campos obtenidos de una tabla en de la BD, era problema de las comillas, y quedo de esta forma, funcionando OK

Código
Código:
<option value="<? echo "$row[id_glosa]" ?>" selected><? echo "$row[glosa]"; ?> </option><? } ?></select><br />
Gracias a los que ayudaron a resolver el problema
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:06.