Load data local infile

Eléphant du PHP | 158 Messages

13 avr. 2005, 09:02

J'ai un petit problème avec une requête de remplissage automatique de table.

J'utilise un formulaire html avec un input type file (nommé : fichier_load) pour sélectionner un fichier, puis un script php qui récupère la nom du fichier grâce à $chemin= $_FILES['fichier_load']['name'];

Je veut maintenant remplir une table (à une seule colonne) de ma base de données avec une requête load data local infile. Chaque ligne du fichier que je veut charger à la structure suivante:

"génomique";

J'ai éssayé ceci mais ca ne fonctionne pas :

$sql1="LOAD DATA LOCAL INFILE '$chemin' REPLACE INTO TABLE Domaines FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n' ";

mysql_query($sql1);

Si quelqu'un voit mon erreur et la corrige je l'en remercie d'avance :D
°°°Darkbibou°°°

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

13 avr. 2005, 09:20

--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 158 Messages

13 avr. 2005, 09:30

j'avais deja lu cette page mais je ne voit toujours pas mon erreur :S
°°°Darkbibou°°°

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

13 avr. 2005, 10:52

Premièrement côté mysql, fait attention au chemin d'accès qui doit être absolu car mysql qui va exécuter la requête doit pouvoir accèder au fichier.
Deuxièment, tes données sont entourée par " il faut le spécifier dans la clause ENCLOSED BY

Exemple :
$sql="LOAD DATA INFILE 'c://donnees.txt' REPLACE INTO TABLE donnees FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n'";

mysql_query ($sql);
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène