plusdegolf Posté 8 Novembre 2006 Posté 8 Novembre 2006 bonjour à tous, j'ai besoin d'un petit coup de main. J'ai une base de données mysql chez OVH. Je souhaite importer des données dans une des tables à partir d'un fichier .txt. En local, j'utilisais une requète "LOAD DATA INFILE" mais il semble qu'elle soit interdite chez OVH. J'ai lu que l'on pouvait utiliser les commandes mysqldump et mysql mais dans mon cas, mes données de départ sont dans un fichier .txt et non dans une base de données locale. Pourriez-vous m'aiguiller ? Merci d'avance, julien
Dan Posté 8 Novembre 2006 Posté 8 Novembre 2006 Effectivement, si tu es en mutualisé chez OVH, le "LOAD DATA INFILE" est désactivé parce qu'il crée des failles de sécurité. C'est donc logique ! Tu ne pourras pas utiliser les fichier de type csv avec mysql.
plusdegolf Posté 8 Novembre 2006 Auteur Posté 8 Novembre 2006 Est-ce que je peux uploadermon fichier .txt sur le serveur et utiliser unscript PHP pour insérer les enregistrements dans la BDD ? Si oui, existe-t-il à votre connaissance des outils ou scripts php pour cela ? Merci encore, Julien
Leonick Posté 8 Novembre 2006 Posté 8 Novembre 2006 Pour charger de gros fichiers sql, genre plusieurs dizaines de Mo, j'envoie mon fichier sur le serveur via ftp, dans un répertoire non accessible en htpp et ensuite, j'exécute le script sql ligne par ligne avec ce code $nb_erreurs=0;$fichierResult="../../../maj/maj_data.sql"; $contenuResult=file($fichierResult); $nlignesResult=count($contenuResult);echo "<p>$nlignesResult enregistrements à importer</p>\n"; for($compt=0;$compt<$nlignesResult;$compt++) {if (trim($contenuResult[$compt])!="") if (!mysql_query($contenuResult[$compt])) { echo "<p>$compt) la requête ".$contenuResult[$compt]." n'a pas abouti</p>"; $nb_erreurs++; } }if ($nb_erreurs>0) echo "<p>$nb_erreurs erreurs rencontrées durant l'import</p>\n"; en ayant bien évidemment fait la connexion BdD au préalable
plusdegolf Posté 8 Novembre 2006 Auteur Posté 8 Novembre 2006 Merci pour vos réponses. Pour info, j'ai résolu mon souci de la façon suivante: - upload du fichier sur le serveur PHP en utilisant la fonction "@copy($Fichier, $site);" - J'utilise ensuite un script trouvé sur internet pour parser le fichier et insérer les enregistrements dans la base de données. Le script est à l'adresse suivante : http://www.infres.enst.fr/~danzart/mysql/mysqlimporte.phtml A bientôt, Julien PS: ce post est résolu
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant