Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Translation CVS vers SQL en php

1 réponse
Avatar
Ch. A.
Bonjour,

Je suis entrain d'écrire une petite moulinette pour convertir des
tableaux en script sql.

Globalement : je lis le fichier cvs, avec un explode je rentre chaque
champ dans un tableau.
A partir de ce tableau, je génère la requete SQL qui va bien. Ex :
CREATE TABLE $foo (champ1 type, champ2 type,...etc...);
ou
INSERT INTO $foo VALUES (val1,val2...etc...)

Si le nombre de champs est trop important, il y a une césure dans les
lignes et ça semble poser problème à mysql pour l'interprétation...(j'ai
une coupure vers 630 caractères...)

Merci de me tuyoter sur une éventuelle limite de taille des lignes
générées ou sur des sauts de ligne impromptus générés par fwrite...Je
trouve rien dans les docs sur le sujet...(ceci dit, je ne sais pas si le
pb vient vraiment de php...)

Merci

1 réponse

Avatar
Microbug
Bonjour,

Je ne sais pas si tu l'as remarqué, mais phpmyadmin que tu dois
probablement utiliser possède une fonction de chargement de fichier
CSV.

Tu peux déja essayer de charger un de tes fichiers comme cela,
histoire de voir si le problème vient bien de Mysql, ou de ton script.

Personnellement je pense que c'est ton script qui ne gère pas très
bien les longues lignes. fwrite n'écrit pas de saut de ligne si tu ne
lui demande pas.

Sébastien

Ch. A. wrote:
Bonjour,

Je suis entrain d'écrire une petite moulinette pour convertir des
tableaux en script sql.

Globalement : je lis le fichier cvs, avec un explode je rentre chaque
champ dans un tableau.
A partir de ce tableau, je génère la requete SQL qui va bien. Ex :
CREATE TABLE $foo (champ1 type, champ2 type,...etc...);
ou
INSERT INTO $foo VALUES (val1,val2...etc...)

Si le nombre de champs est trop important, il y a une césure dans les
lignes et ça semble poser problème à mysql pour l'interprétation...(j'ai
une coupure vers 630 caractères...)

Merci de me tuyoter sur une éventuelle limite de taille des lignes
générées ou sur des sauts de ligne impromptus générés par fwrite...Je
trouve rien dans les docs sur le sujet...(ceci dit, je ne sais pas si le
pb vient vraiment de php...)

Merci