Youss22
Messages postés1Date d'inscriptionvendredi 4 avril 2008StatutMembreDernière intervention17 décembre 2009
-
17 déc. 2009 à 10:44
sorelbob
Messages postés2Date d'inscriptionjeudi 3 juin 2010StatutMembreDernière intervention 1 septembre 2010
-
1 sept. 2010 à 10:33
Bonjour à tous,
Je me retourne vers vous concernant un problème d'importation de fichier csv dans une table, après avoir retourné le problème dans les sens je ne comprend pas d'ou provient le problème, donc si quelqu'un pouvait m'éclairer.
Ci-dessous le code posant problème:
<?php
// Connexion au serveur MySQL
mysql_connect("localhost", "root", "");
// Séléction de base de données
mysql_select_db("as");
// On construit le chemin du fichier
$chemin_du_fichier = $_FILES['fichier']['tmp_name'];
// Si le fichier existe bien
if (is_uploaded_file($chemin_du_fichier))
{
// Requête d'enregistrement
mysql_query("LOAD DATA LOCAL INFILE '$chemin_du_fichier'
INTO TABLE archiveimport
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY "\\"
LINES TERMINATED BY '\\r\\n";)
or die (mysql_error());
// Fermeture de la base !
mysql_close();
}
else
{
// On affiche une erreur
echo "Fichier introuvable
";
}
?>
rastasponch
Messages postés27Date d'inscriptionjeudi 12 août 2004StatutMembreDernière intervention19 décembre 2009 19 déc. 2009 à 21:29
Bonsoir,
Pour le coup, je cerne pas tellement le problème, tu as une erreur en retour ?
Après sur le code, personnellement j'aurai fait la fermeture de la base après le else fermant, puisque tu ouvre avant le if (ouvrant?!!).
Merci, je connais pas la requête "LOAD DATA...", as tu essayé de l'écrire sur une seule ligne ? Peut être que ça vient de là..
rastasponch
Messages postés27Date d'inscriptionjeudi 12 août 2004StatutMembreDernière intervention19 décembre 2009 19 déc. 2009 à 21:33
J'aurai du y regarder à deux fois avant de poster !
"LOAD DATA LOCAL INFILE '$chemin_du_fichier' INTO TABLE archiveimport FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY "\\" LINES TERMINATED BY '\\r\\n"
Tel que c'est écrit la requête passé est : "LOAD DATA LOCAL INFILE '$chemin_du_fichier' INTO TABLE archiveimport FIELDS TERMINATED BY ',' ENCLOSED BY '"
Echape les guillemets double, ou remplace les ;)
Sans tester, ça devrait ressembler à ça :
mysql_query("LOAD DATA LOCAL INFILE '$chemin_du_fichier' INTO TABLE archiveimport FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\\' LINES TERMINATED BY '\\r\\n';");