Pbleme Avec Data load infile

Répondre
louhichi
le 10/04/2006 à 10:02
louhichi
Salut;
j'ai essayé de chager une table de ma base a partir d'un fichier texte ,pour cela j'ai utilisé la commande data load infile;
//************************
$q1 ='LOAD DATA INFILE 'c:\fichier1.txt'
INTO TABLE 'heberg ;

$req = mysql_query($q1) or die('erreur sql! mysql_close();
//***********************
un message "c:\fichier1.txt" n'existe pas
une solution m'a etait proposé c'est de creer un fichier temporaire dans le dossier du travail
si qqu'un peut m'aider?
merci a l'avance
bibi
le 10/04/2006 à 11:54
bibi
il faut peut etre y accèder de manière relative, genre ../fichier1.txt
commit suicide
LupusMic
le 10/04/2006 à 11:57
LupusMic
Il faut te méfier des noms de fichiers sous Microsoft Windows. Écris plutôt :

$query = "LOAD DATA INFILE 'C:\\fichier1.txt' INTO TABLE 'hebergement'" ;


Si ça ne marche pas, c'est que MySQL n'a pas le droit de lire le fichier 'C:\fichier1.txt'.

Enfin, si tu n'as pas la nécessité absolue de charger le fichier depuis PHP, il vaut mieux le charger directement depuis la ligne de commande :

cd Chemin_install_mysql\bin
mysqlimport -uroot -p base c:\fichier1.txt
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
louhichi
le 10/04/2006 à 13:14
louhichi
merci a tous;
j'ai trouvé en fin une solution (sous windows) en php peut etre admis(tester)
**
//***************Création d'un fichier temporaire
$tmp = tempnam("/tmp", "/tmp/fichier");

///***********Fin creation******************
//****copier le contenu $ip (chemin fichier text en c:) dans le fichier temporaire
/*******************
if(@copy($ip,"/tmp/fichier.tmp"));
{
echo "Le fichier essai.txt a été copié dans le répertoire tmp/copy_fichier.txt.";
}
else echo "Erreur";

/********************************************
//******************************************
$q1 ="LOAD DATA INFILE '/tmp/fichier.tmp'
INTO TABLE ".$op2 ;
}
//on lance la requête(mysql_query)et on impose le message erreur si la reqête ne se passe pas bien (or die)
}
$req = mysql_query($q1) or die('erreur sql!'.$q1.''.mysql_error());
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours