requete SQL plante avec tabulation !!

  • Auteur de la discussion Auteur de la discussion bigs32
  • Date de début Date de début
WRInaute occasionnel
j'aimerais lancer une requete d'importation du fichier 411511ML_ComExp.txt
le ficher 411511ML_ComExp.txt dont
les champs sont séparés par des tabulations \t
chaque ligne séparée pat \n
Le fichier requete est le suivant:

$t="\\".'t';$n="\\ ".'n';
$sql="LOAD DATA INFILE D:/temp/metr/411511ML_ComExp.txt
INTO TABLE metr_price
FIELDS TERMINATED BY '$t'
LINES TERMINATED BY '$n'";

mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // on envoie la requête

ca me donne cette erreur :
Erreur SQL !
LOAD DATA INFILE D:/temp/metr/411511ML_ComExp.txt INTO TABLE metr_price FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\ n'
Erreur de syntaxe près de 'D:/temp/metr/411511ML_ComExp.txt INTO TABLE metr_price FIELD' à la ligne 1



apparamment la requete n'aime pas trop \t et \n .j'ai passé pas mal de temps mais toujours pas trouvé de solution.

J'espère qu'un ange passe par là et pourrait m'aider un peu
 
WRInaute passionné
A la place de "\t" prend un autre séparateur, par exemple ";"

Pour le saut de ligne "\n", il me semble selon ta requête que tu as mis un espace en trop :) Entre le "\" et "n" -> "\ n" <- pas bon !
 
WRInaute occasionnel
david96 a dit:
A la place de "\t" prend un autre séparateur, par exemple ";"

Pour le saut de ligne "\n", il me semble selon ta requête que tu as mis un espace en trop :) Entre le "" et "n" -> "\ n" <- pas bon !

je sais avec un autre séparateur comme ";" ca marche .mais avec "\t" ca marche pas !!.J'aimerais bien comprendre .c'est quand meme pas normal qu'on puisse pas utiliser le séparateur "\t"
 
WRInaute discret
en ce moment je charge pas mal de donnée issu excel avec des tab. J'utilise aussi \t. je passe via phpmyadmin pour les importer. As-tu regardé la requête que fait myadmin ?
Voici la mienne :
Code:
LOAD DATA LOCAL INFILE 'C:/Program Files/EasyPHP\\tmp\\php17D.tmp' INTO TABLE `05_12` FIELDS TERMINATED BY '\t' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'

il y a peut-être des trucs en trop mais ca fonctionne :lol:
@+
 
WRInaute occasionnel
Hartas a dit:
en ce moment je charge pas mal de donnée issu excel avec des tab. J'utilise aussi \t. je passe via phpmyadmin pour les importer. As-tu regardé la requête que fait myadmin ?
Voici la mienne :
Code:
LOAD DATA LOCAL INFILE 'C:/Program Files/EasyPHP\\tmp\\php17D.tmp' INTO TABLE `05_12` FIELDS TERMINATED BY '\t' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'

il y a peut-être des trucs en trop mais ca fonctionne :lol:
@+
merci sur phpmyadmin c'est assez simple .c'est ce ke t'a fait , mais en requete php c'est plus compliqué
 
WRInaute discret
mis à part rajouter un mysql_query($sql) je ne vois ou c'est plus compliqué...Je disais juste que la requete que je viens de te donner tu devrais l'adapté avec tes variables tu verras bien...puisqu'elle fonctionne sous myadmin...
 
WRInaute discret
J'avais pas fait gaffe mais il te manque des 'simple quote' autour de ton nom de fichier :
Code:
 $sql="LOAD DATA INFILE 'D:/temp/metr/411511ML_ComExp.txt'
INTO TABLE metr_price
FIELDS TERMINATED BY '$t'
LINES TERMINATED BY '$n'";

Je viens de tester cette requête là fonctionne chez moi
@+
 
WRInaute occasionnel
Hartas a dit:
J'avais pas fait gaffe mais il te manque des 'simple quote' autour de ton nom de fichier :
Code:
 $sql="LOAD DATA INFILE 'D:/temp/metr/411511ML_ComExp.txt'
INTO TABLE metr_price
FIELDS TERMINATED BY '$t'
LINES TERMINATED BY '$n'";

Je viens de tester cette requête là fonctionne chez moi
@+
merci <hartas je vais suivre tes conseils et testé ce soir .je te dirais si ca marche ou pas :!!!
 
WRInaute occasionnel
Encore Merci beaucoup à Hartas et david96.:lol:
vous êtes trop forts!!!!!
j'ai encore simplifié et utilisé ca et ca marche nikel
$sql="LOAD DATA INFILE 'D:/temp/metr/411511ML_ComExp.txt'
INTO TABLE metr_price";
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut