puse ya este mensaje en el foro de PHP lo digo para que NO LO MUEVAN, lo pongo aqui por que tiene que ver con MySQL.
Después de varias pruebas me doy cuenta que es problema de mysql y no de codigo php.... pero que puede estar mal?? mas abajo explico como estan hechas las tablas... además el numero que pongo en la foranea existe en la otra tabla... en fin...
para insertar hago lo siguiente:
Código PHP:
$emails=$_POST['email'];
$id_cliente=$_POST['id_cliente'];
for ($i=0; $i<=count($emails); $i++) {
echo $emails[$i].'<br>'.$id_cliente[$i];
$que = "INSERT INTO factura (cantidad1, id_cliente)";
$que.= "VALUES ( '$emails[$i]', '$id_cliente[$i]' )";
$res = mysql_query($que, $conexion) or die(mysql_error());
}
pero al insertar en una tabla con campo foraneo me aparece el siguiente error:
Código:
tengo entendido que este error aparece cuando el valor o dato que estoy poniendo en el campo foraneo no existe... pero los registros que inserto si existen. pero a pesar de este error igual me inserta los datos en la base de datos...Cannot add or update a child row: a foreign key constraint fails (`basedatos/factura`, CONSTRAINT `factura_ibfk_1` FOREIGN KEY (`id_cliente`) REFERENCES `clientes` (`id_cliente`))
las tablas son como sigue ambas innodb
-- clientes --
id_cliente (indice: primary)
nombre
rut
-- factura --
id_factura (indice: primary)
cantidad
...
id_cliente (indice: index)
y porsupuesto con phpmyadmin en vista relacion escojo en id_cliente su primaria.
bueno ese es mi problema aparece el error pero igual inserta los datos... al usar un insert normal funciona bien... el error aparece cuando uso for... esta mal el for?? cual puede ser el problema??
gracias desde ya, saludos.