Aller au contenu

Importer des données dans mysql à partir d'un txt


Sujets conseillés

Posté

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

Posté

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. :(

Posté

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

Posté

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 :P

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

Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...