Votre question

[résolu]Syntaxe requête sql

Tags :
  • Sql
  • Programmation
Dernière réponse : dans Programmation
19 Mai 2009 13:04:33

salut, je fais du php et j'ai une requête qui foire la voici :
$query="LOAD DATA LOCAL INFILE 'C:/wamp/www/xlsmagique/liste/membre.csv' REPLACE INTO TABLE membre
FIELDS TERMINATED BY ';'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n' ";
$retour=mysql_query($query) or die(mysql_error());

l'erreur retournée est
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 4

le but est d'importer un fichier csv dans la table membre.
je ne trouve pas l'erreur dans la requête merci d'avance .

Autres pages sur : resolu syntaxe requete sql

19 Mai 2009 13:57:50

je rectifie, cette commande fonctionne finalement. en revanche
$chemin_fichier="C:/wamp/www/xlsmagique/liste/" . $nom_fichier; // Mise à jour des données
$query="LOAD DATA LOCAL INFILE $chemin_fichier REPLACE INTO TABLE $nameTable
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n' ";
$retour=mysql_query($query) or die(mysql_error());
ça ne marche plus et l'erreur est
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'C:/wamp/www/xlsmagique/liste/membre.csv REPLACE INTO TABLE membre FIELDS TERM' at line 1

c'est bien le bon fichier à importer et bien la table membre pourtant
celui ou celle qui trouve une erreur la dedans est un génie
m
0
l
19 Mai 2009 14:08:25

En général on exécute pas trop ce genre de requête en PHP ... c'est plus des requêtes de maintenance, qu'on fait soit en ligne de commande soit à la rigueur via PHPMyAdmin.

Si tu le mets en PHP, je suppose donc que tu vas effectuer cette requête régulièrement ? C'est moi on c'est bizarre d'avoir comme séparateur le / sous Windows ? MySQL fait le changement tout seul pour des \ ?

MySQL indiquant une erreur de syntaxe il serait sans doute bon d'avoir le contenu de $query au final non ?

  1. or die (mysql_error()."<br /><br />".$query);
m
0
l
Contenus similaires
19 Mai 2009 14:16:15

et bien voici l'erreur
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'C:/wamp/www/xlsmagique/liste/membre.csv REPLACE INTO TABLE membre FIELDS' at line 1

LOAD DATA LOCAL INFILE C:/wamp/www/xlsmagique/liste/membre.csv REPLACE INTO TABLE membre FIELDS TERMINATED BY ';' LINES TERMINATED BY ' '

pour les slashs pas de problème, mysql s'en charge mais j'ai quand meme essayer de ne mettre que le nom du fichier sans le chemin complet et ça donne la meme chose.
je veux utiliser cette commande assez souvent pour mettre à jour ma table avec un fichier csv
m
0
l
19 Mai 2009 14:19:44

pu... de bordel de m... la voila l'erreur
$query="LOAD DATA LOCAL INFILE '$chemin_fichier' REPLACE INTO TABLE $nameTable
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n' ";

les quotes autour de $chemin_fichier.
2heures de temps pour 2 quotes!
merci quand meme!
m
0
l
19 Mai 2009 14:28:43

Tu as aussi un problème au niveau de ton \n car tu es entre double quote. c'est donc \\n plutôt je pense.

EDIT quoique, nan ... mais peut être.
m
0
l
19 Mai 2009 15:35:32

non non le \n il a l'air de l'aimer
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS