Salut à tous,
J'avais un script php qui insérait les données d'un fichier csv dans une table MySQL mais hier il y a eu une mise à jour importante de Plesk et maintenant j'ai un message d'erreur quand j'exécute ce script : "PHP Warning: mysqli::query(): LOAD DATA LOCAL INFILE forbidden in....".
Ce n'est pas la première fois que je galère avec l'import de données dans une table depuis un fichier csv avec la commande "LOAD DATA LOCAL INFILE" ou "LOAD DATA INFILE", donc je me posais la question : quelle autre alternative avons-nous pour insérer des données depuis un fichier csv dans une table MySQL ?
Mon fichier csv est assez gros, il fait plus de 80Mo et il a plus de 200 000 lignes. Les données du fichier csv sont séparées par des virgules et il y a un retour chariot à la fin de chaque ligne. Il faut ignorer la première ligne qui contient le nom des champs du fichier csv. Il peut y avoir des données vides pour certaines lignes, on aura alors une double virgule, par exemple "toto,6658,,tata,tutu".
Exemple du fichier csv :
C'est une mise à jour quotidienne, via une tache cron.
Merci pour votre aide.
J'avais un script php qui insérait les données d'un fichier csv dans une table MySQL mais hier il y a eu une mise à jour importante de Plesk et maintenant j'ai un message d'erreur quand j'exécute ce script : "PHP Warning: mysqli::query(): LOAD DATA LOCAL INFILE forbidden in....".
Ce n'est pas la première fois que je galère avec l'import de données dans une table depuis un fichier csv avec la commande "LOAD DATA LOCAL INFILE" ou "LOAD DATA INFILE", donc je me posais la question : quelle autre alternative avons-nous pour insérer des données depuis un fichier csv dans une table MySQL ?
Mon fichier csv est assez gros, il fait plus de 80Mo et il a plus de 200 000 lignes. Les données du fichier csv sont séparées par des virgules et il y a un retour chariot à la fin de chaque ligne. Il faut ignorer la première ligne qui contient le nom des champs du fichier csv. Il peut y avoir des données vides pour certaines lignes, on aura alors une double virgule, par exemple "toto,6658,,tata,tutu".
Exemple du fichier csv :
NomChamps1,NomChamps2,NomChamps3,NomChamps4,NomChamps5,NomChamps6, NomChamps7
556,coucou,9879,toto,445646,tata,tutu
9999,ligne2,4485,toto2,02333,,tutu2
4587,ligne3,,toto3,7877,tata3,tutu3
C'est une mise à jour quotidienne, via une tache cron.
Merci pour votre aide.