Foros del Web » Programando para Internet » PHP »

Ejecuta bien la consulta, ¿o no...?

Estas en el tema de Ejecuta bien la consulta, ¿o no...? en el foro de PHP en Foros del Web. Estoy ejecutando consultas de INSERT INTO en PHP contra MYSQL. Tengo 4 tablas. En dos de ellas se ejecutan bien los inserts desde PHP, pero ...
  #1 (permalink)  
Antiguo 10/07/2006, 04:23
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 12 años, 7 meses
Puntos: 2
Ejecuta bien la consulta, ¿o no...?

Estoy ejecutando consultas de INSERT INTO en PHP contra MYSQL.

Tengo 4 tablas. En dos de ellas se ejecutan bien los inserts desde PHP, pero en las otras 2, y aunque en PHP me dice que la consulta esta bien ejecutada (¡¡incluso me da un valor para mysql_insert_id() !!), luego en la base de datos no aparecen reflejados los datos que supuestamente se han insertado.

Ejecutando las consultas directamente en MySql, se inserta bien en todas las tablas (copiando textualmente el query que muestro por pantalla en php, y que es el que se tiene que ejecutar)

Tengo casualmente dos tablas con el mismo numero de campos, una en la que se inserta bien, y otra en la que no, asi que he probado a hacer esta consulta:

Código:
$qqq="INSERT INTO $tabla VALUES (1,1,1,1,1)";
y simplemente cambiando el nombre de las tablas, una por otra, en una la inserta, y en la otra no.

Repito que en PHP no me da absolutamente ningun error, me dice que se ha ejecutado bien, pero luego en la base de datos no se ha insertado nada...

Porque puede pasar esto? estoy realemente desconcertado...
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.
  #2 (permalink)  
Antiguo 10/07/2006, 05:38
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 12 años, 7 meses
Puntos: 2
innoDB y MyISAM

Bueno, pues creo que he econtrado el porque... las tablas en la que no se insertaba eran del tipo innoDB, y en las que si, MyISAM. He cambiado todo a MyISAM, y parece que si inserta... realmente no lo entiendo, pero weno, jeje
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.
  #3 (permalink)  
Antiguo 10/07/2006, 08:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No sé como ejecutabas tu consulta SQL desde PHP .. pero tal vez no estabas viendo el mensaje de error de Mysql que se estaba produciendo:

Código PHP:
mysql_query($sql) or die (mysql_error()); 
Probablemente un mensaje de error referente a integridad referencial (indices? .. claves publicas o privadas ..? .. )


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 10/07/2006, 08:30
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 12 años, 7 meses
Puntos: 2
Asi mostraba el error:

Código PHP:

echo $query;
mysql_query($query);
echo 
"<br />Error: ".mysql_error(); 
Ahora que se mas sobre InnoDB, estoy seguro que era por integridad referencial, pero lo extraño es que no me mostrara ningun error...
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.

Última edición por oskarL; 11/07/2006 a las 03:24
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 10:40.