Synthaxe LOAD DATA INFILE incorrecte

jbm -  
Christounet Messages postés 1266 Statut Membre -
Bonjour,
A partir d'un script php, je lance l'importation de données
Le fichier SE_mic_bouclé.txt' contient les données à importer dans la table mic_boucle.
Il se trouve dans le même répertoire que le script php.

date, site, nfsc, aflr, resultats, etat etant les noms de champ de la table mic_boucle
La 1iere ligne du fichier txt contient
DATE;SITE;NFSC;AFLR;RESULTATS DU CIRDEM;ETAT
voici le résultat de la commande Je ne trouve pas l'erreur de synthaxe !

Erreur
requête SQL :

LOAD DATA INFILE 'SE_mic_bouclé.txt' INTO TABLE 'mic_boucle' IGNORE 1 LINES ( date, site, nfsc, aflr, resultats, etat)

MySQL a répondu:

#1064 - 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 ''mic_boucle' IGNORE 1 LINES ( date, site, nfsc, aflr, resultat
merci
A voir également:

3 réponses

Christounet Messages postés 1266 Statut Membre 1 393
 
Bonjour,

Je pense que la syntaxe correcte devrait être
LOAD DATA INFILE 'SE_mic_bouclé.txt' INTO TABLE mic_boucle IGNORE 1 LINES

A plus
-1
jayb5561 Messages postés 1 Statut Membre
 
merci
j'ai essayé et j'obtiens
Erreur

requête SQL :

LOAD DATA INFILE 'SE_mic_bouclé.txt' INTO TABLE mic_boucle IGNORE 1 LINES

MySQL a répondu:


#1045 - Access denied for user: xxxxxx@%' (Using password: YES)


La localisation du fichier txt dans le mm répertoire que le script php est bien ok ??
qu'en penses tu ?
-1
Christounet Messages postés 1266 Statut Membre 1 393
 
Bonjour,

En fait l'erreur que tu as indiques que le mot de passe que tu utilises pour te connecter à Mysql n'est pas correct. Peux-tu vérifier cela stp ?

A plus
-1
jbm
 
Quand je remplace la requete LOAD DATA par une requete SELECT, c'est bon.
En plus ce mdp est utilisé dans d'autres scripts et je n'ai pas de pb.
0
Christounet Messages postés 1266 Statut Membre 1 393
 
Bonjour,

J'ai consulté la documentation de Mysql que tu trouveras ici et j'ai trouvé la phrase suivante:
Pour des raisons de sécurité, lorsque les fichiers sont lus sur le serveur, ils doivent se trouver dans le répertoire de la base de données courante, ou bien être lisible par tous. Pour utiliser la commande LOAD DATA INFILE sur des fichiers du serveur, vous devez avoir le droit de FILE sur le serveur
ce qui pourrais expliquer ton problème avec LOAD et pas avec SELECT. Tu trouveras ici les explications concernant les différents droits.
En fait dans la documentation il est aussi expliqué où doit se trouver le fichier sur le serveur (où se trouve ta base de données) et qu'il doit se trouver dans le même répertoire que ta base de données sauf si tu spécifies le chemin complet, cherches après la phrase suivante Lorsque les fichiers de données sont sur le serveur, celui-ci utilise les règles suivantes dans le premier lien, c'est là que c'est expliqué.
A plus
-1