pb avec load data infile

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb avec load data infile

par logone » 05 juil. 2005, 17:52

je pense que le chemin absolu est

_SERVER["DOCUMENT_ROOT"] /home/immocons/public_html

c'est ce que me donne un phpinfo

donc si je rajoute le mon de mon fichier ca me donne

/home/immocons/public_html/donnees/monfichier.csv

donc toujours pareil

Grrrrr

par zeus » 05 juil. 2005, 17:46

C'est ce que j'était en train de chercher

J'ai commencé par gueuler avant de me rendre compte que /home/ voulait dire serveur Linux

Je te tiens au courant

par logone » 05 juil. 2005, 17:45

comment je peux trouver ce chemin ??
mon serveur web est sous linux

par logone » 05 juil. 2005, 17:42

tu penses que cela peu venir de ca

ok je tente de chercher le chemin absolu

par zeus » 05 juil. 2005, 17:26

Normal, si tu ne lit pas mes post :evil:
le chemin doit être un chemin ABSOLU du type C:/dir1/dir2/file.csv
Il me semble que je ne peut pas être plus clair :wink:

par logone » 05 juil. 2005, 17:11

j'ai tente un chemin du style
$filename ="/home/immocons/public_html/donnees/fichier.csv";
$replace = "LOAD DATA INFILE '$filename' REPLACE INTO TABLE immodata FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'"; 
echo $replace; 
mais c'est toujours pareil


Grrrrrrrrrr[/php]

par zeus » 05 juil. 2005, 12:05

le chemin doit être un chemin ABSOLU du type C:/dir1/dir2/file.csv

C'est surement la raison de l'erreur :wink:

par logone » 05 juil. 2005, 11:49

voila le resultat
 LOAD DATA INFILE 'donnees/cchessy-p.csv' REPLACE INTO TABLE immodata FIELDS TERMINATED BY ';' LINES TERMINATED BY '
'

je ne sais pas si le chemin devrait etre donnees/cchessy-p.csv ou un truc du style /home/site/donnees/cchessy-p.csv

qu'en penses tu ??
[/php]

par zeus » 05 juil. 2005, 11:35

Fait ça et poste moi le résultat. 80% des erreurs de LOAD DATA INFILE vient d'une erreur dans le nom du fichier
$replace = "LOAD DATA INFILE '$filename' REPLACE INTO TABLE immodata FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'";
echo $replace;

par logone » 05 juil. 2005, 11:30

un

Code : Tout sélectionner

$replaceOK = mysql_query("select * from immodata");
fonctionne tres bien je pense que le soucis viens de l'insertion du fichier texte

par zeus » 05 juil. 2005, 11:14

Et si tu remplace la requete par un select tout simple, tu as toujours la même erreur ?

par logone » 05 juil. 2005, 11:08

oui j'ai tente de mettre

Code : Tout sélectionner

$replace = "LOAD DATA INFILE '$filename' REPLACE INTO TABLE immodata FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'"; $replaceOK = mysql_query($replace) or print(mysql_error());
mais j'ai l'erreur

Access denied for user: 'immocons@localhost' (Using password: YES)

J'ai bien verifier mes logins et pass et pas de soucis a ce niveau

par zeus » 05 juil. 2005, 11:01

Pour la 2nd erreur, je te conseil d'enlever le LOCAL car il y a des versions de MySQL qui ne le gère pas bien

ensuite, pour la dernière, je ne pense pas que se soit la requête qui bloque

Tu as essayé de mettre juste la dernière requete ?

pb avec load data infile

par logone » 05 juil. 2005, 10:53

Salut,

J'ai un probleme avec un script qui est le suivant

Code : Tout sélectionner

$filename="donnees/fichier.csv"; $login = "login"; $pass = "pass"; $o_DB = mysql_connect("localhost", $login, $pass); mysql_select_db("data", $o_DB); $delete = "DELETE FROM immodata"; $deleteOK = mysql_query($delete) or print(mysql_error());
si je fait

Code : Tout sélectionner

$replace = "LOAD DATA LOCAL INFILE '$filename' REPLACE INTO TABLE immodata FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'"; $replaceOK = mysql_query($replace) or print(mysql_error());
J'ai l'erreur The used command is not allowed with this MySQL version qui
veux dire qu'il semble que cette commande ne soit pas dispo

si je remplace par

Code : Tout sélectionner

$replace = "LOAD DATA INFILE '$filename' REPLACE INTO TABLE immodata FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'"; $replaceOK = mysql_query($replace) or print(mysql_error());
j'ai l'erreur Access denied for user: 'immocons@localhost' (Using password:
YES)

Je nage un peu

merci de votre aide