Problema de interacción fgetcsv y mysql

entukasamejor
22 de Julio del 2005
Hola a todos,

me estoy volviendo loco con la utilización de fgetcsv en php para trabajar con mysql.La aplicación "pelada", es decir, sólo conectándose a la base de datos y leyendo el contenido del fichero csv no da ningún problema.

El error viene cuando trato de manejar la información del fichero csv. Yo leo una línea, tal y como se explica en la pàgina de php.net, y lo meto en un array de forma que según el valor de los distintos atributos realizo una serie de operaciones con la base de datos mysql.

El caso es que de las 61 líneas exactas que tiene el fichero funciona bien hasta la línea 24 y peta en al 25. Si quito las últimas líneas del fichero, la aplicación termina sin ningún error.

El punto en el que falla la aplicación es el siguiente:

1.- leo la "siguiente" línea
2.- Inserto unos atributos en una tabla
(clave primaria X)
3.- Recupero la clave primaria de la nueva tupla(X)
4.- Inserto resto de atributos en otra tabla
(clave primaria Y)
5.- Recupero la clave primaria de la nueva tupla (Y)
5.- Intento establecer la relación entre estos atributos en otra tabla
(claves foraneas X,Y)
6.- obtengo el mensaje de error:

"cannot add or update a child row: a foreign key constraint fails"

De hecho me da error incluso si lo hago manualmente sobre la base de datos. Me reporta el mismo error a pesar que los registros si que los ha insertado.

Entonces no entiendo el por qué del fallo de las claves foraneas y no sé como abordar el problema

Si alguien me puede echar un cable, estaría muy agradecido. Necesito resolver esto urgentemente.

Gracias por vuestra ayuda,
Un saludo.