Se connecter avec
S'enregistrer | Connectez-vous

[résolu]Syntaxe requête sql

Dernière réponse : dans Programmation

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

Lassé par la pub ? Créez un compte

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
Expert Programmation

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);

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

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!
Lassé par la pub ? Créez un compte
Tom's guide dans le monde