[RESOLU] LOAD DATA ne s'execute pas

Répondre


Cette question est un moyen de lutter contre les publications automatisées indésirables.
Émoticônes
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Accéder à davantage d’émoticônes
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] LOAD DATA ne s'execute pas

Re: LOAD DATA ne s'execute pas

par sora174 » 18 avr. 2019, 13:43

Bon j'ai résolue mon problème ... je ne sais pas trop comment, ais si sa peu aider je vais détailler ce que j'ai fait :
-J'ai mis Phpmyadmin à la dernière version disponible
-je suis aller sur l'interpréteur mysql (au cas où que c'était un problème de droit) :
* mysql -u root -p -D mysql UPDATE user SET File_priv = 'Y' WHERE User = 'XXXXX' (And Host = 'localhost');
*FLUSH PRIVILEGES;
* mysql.exe --local-infile=true --user=USER --password=MDP BDD ;
-appel de la BBD avec PDO en accordant l'accès à LOAD DATA :
try
{
	$idBase = new PDO('mysql:host='.HOST.';dbname='.stagephp.';charset=utf8', USER, MDP, 
	array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
			PDO::MYSQL_ATTR_LOCAL_INFILE => 1));
	
}
catch (Exception $e)
{
	die('Erreur : ' . $e->getMessage());
}
-LOAD DATA:
 $idBase->query("LOAD DATA LOCAL INFILE '/home/XXXX/XXXXXXX/test.csv'			 
	 IGNORE INTO TABLE fichier 
	 	FIELDS TERMINATED BY '\t'
	 	LINES TERMINATED BY '\n' 
		IGNORE 1 LINES 
		(id_seq, seq, locus, stop_codon, vj_in_frame, productive, rev_comp, v_call, d_call,j_call) ") or die ("nope");
Je sais pas vraiment ce qui à débloqué le tout parce que pendant mais test j’avais rajouté une option à la c** pour LOAD DATA et quand je l'ai remis comme au début, plus d'erreur...

EN tout cas merci pour le soutient et j'espère que sa pourra aider des gens :p

Re: LOAD DATA ne s'execute pas

par sora174 » 18 avr. 2019, 11:29

Ca va me rendre foue, la commande marche sur mySQL mais sur phpmyadmin ni sur php :tir2: :boire4: |*() :axe:

Re: LOAD DATA ne s'execute pas

par sora174 » 18 avr. 2019, 10:00

Bon l'importation automatique de phpmyadmin marche (je l'ai mis à jour) mais ça marche toujours pas quand je tape la commande alors que je prend celle qu'il donne lors de l’importation de fichier avec LOAD DATA, j'ai juste changer le chemin d'accès au fichier...

On est d'accord que si j'ai j'ai mon fichier.csv dans le dossier Documents je dois faire /home/monprofil/Documents/fichier.csv
non ? par ce que que là je commence à douter

Re: LOAD DATA ne s'execute pas

par Spols » 18 avr. 2019, 07:58

vérifie les droits d'accés de l'utilisateur de la database, et si tu es en mutualisé vérifie que tu as le droits d'utiliser load data

Re: LOAD DATA ne s'execute pas

par sora174 » 17 avr. 2019, 17:13

si ta table ne se rempli pas en utilisant php my admin, commence par là cherche à faire en sorte que ca marche.
Bon j'ai essayer mais même avec phpmyadmin ça marche pas, mais j'ai trouvé quelque choses d'encore plus bizarre:

A un moment je me suis dit "tiens si j'essayais d'utiliser la fonction import intégré à phpmyadmin".

Alors au début j'ai importer mon fichier en CSV normal , ça c'est très bien passé, mais quand j'ai voulu spécifié qu'il devait l'importer en CSV LOAD DATA, la commande automatique se fait bien mais ça ne remplis pas la base de donnée, comme si le fichier était vide alors que ce n'est pas le cas..

Re: LOAD DATA ne s'execute pas

par sora174 » 17 avr. 2019, 16:21

si ta table ne se rempli pas en utilisant php my admin, commence par là cherche à faire en sorte que ca marche.
Donc c'est bien pas normal, merci du conseil, je m'y atèle !

Re: LOAD DATA ne s'execute pas

par Spols » 17 avr. 2019, 16:12

si ta table ne se rempli pas en utilisant php my admin, commence par là cherche à faire en sorte que ca marche.

Re: LOAD DATA ne s'execute pas

par sora174 » 17 avr. 2019, 15:59

Personne ? même pas des idées ou une correction sur un pauvre apostrophe qui se serai perdue ? XD

Re: LOAD DATA ne s'execute pas

par sora174 » 17 avr. 2019, 15:25

Alors j'ai tester avec une autre commande d'execution :
 $req = $idBase->query( "LOAD DATA LOCAL INFILE '$rep' 
	 INTO TABLE fichier 
	 FIELDS TERMINATED BY ','  
	 LINES TERMINATED BY '\\r\\n' 
	 IGNORE 1 LINES
 	(@id_seq, @seq, @locus, @stop_codon, @vj_in_frame, @productive, @rev_comp, @v_call, @d_call,@j_call) 
 	set 
 		id_seq=@id_seq, 
 		seq=@seq, 
 		locus=@locus, 
 		stop_codon=@stop_codon, 
 		vj_in_frame=@vj_in_frame, 
 		productive=@productive, 
 		rev_comp=@rev_comp, 
 		v_call=@v_call, 
 		d_call=@d_call,
 		j_call=@j_call") or die ("haaaaaaa");

              echo "test";      //fonctionne
Donc comme ceci, si le chemin d'accès est bon la commande d’exécution n'est plus bloqué (bonne nouvelle) mais la BDD ne se remplit toujours pas...
Ha d'ailleurs chose bizarre, si le chemin d'accès au fichier est faux, la commande d’exécution se rebloque au lieux d'envoyer le message d'erreur...

EDIT:

Je viens de tester si il y a une différences si je me connecte à ma BDD en procédurale et en PDO(de base je suis en PDO)
Si je me connecte en procédurale, la connexion se fait bien, mais cette fois j'ai mon message d'erreur ("Haaaaaa") qui est envoyé et ceux qu'il y ai une erreur sur le chemin d'accès vers le fichier ou non.

Re: LOAD DATA ne s'execute pas

par sora174 » 17 avr. 2019, 14:16

Est ce que ça pourrait venir du chemin vers le fichier qui est pas bon ? Parce que même si je met un chemin d'accès abérant, aucune erreur ne s'affiche..

LOAD DATA ne s'execute pas

par sora174 » 17 avr. 2019, 12:00

Bonjour à tous,
Alors voilà j'essaie actuellement de faire rentrer le contenue d'un fichier CSV dans ma base de donnée, donc comme mon fichier est très gros, j'utilise comme vous en doutez "LOAD DATA INFILE"
Mais voilà cette dernière malgré tout les tutos et forums visités ne marche pas... pour être précis elle ne s’exécute pas :
$dossier = 'upload' ;
$rep= $dossier."".$_FILES['fichier']['name'];

 $sql = "LOAD DATA LOCAL INFILE '$rep' 
   INTO TABLE fichier 
   FIELDS TERMINATED BY ','  
   LINES TERMINATED BY '\\r\\n' 
   IGNORE 1 LINES
 	(@id_seq, @seq, @locus, @stop_codon, @vj_in_frame, @productive, @rev_comp, @v_call, @d_call,@j_call) 
 	set 
 		id_seq=@id_seq, 
 		seq=@seq, 
 		locus=@locus, 
 		stop_codon=@stop_codon, 
 		vj_in_frame=@vj_in_frame,        
 		productive=@productive, 
 		rev_comp=@rev_comp, 
 		v_call=@v_call, 
 		d_call=@d_call,
 		j_call=@j_call";
   
          echo "test1" ;    //fonctionne

   $idBase->execute($sql) or die("erreur exec");

        echo "test2" ;    //fonctionne pas
Alors voilà j'ai remarqué que dans mon code tous ce faisait, mais lors de l’exécution, il se stoppé au lieux de d’exécuter la commande LOAD DATA.
Je tiens a préciser que la commande LOAD DATA semble fonctionner, puisque je l'ai essayer sur PHPmyadmin (mais la base de donnée ne se remplit pas, je ne sais pas si c'est normal ou pas).
HA et je suis sous LINUX ...

Petite info complémentaire, le fichier est récupéré via un formulaire, puis après j'ai fais du code pour qu'une copie se créer dans un dossier spécifique (le même que j'appelle avec LOAD DATA.

Donc merci d'avance aux âmes charitables qui m'aideront :D et si j'ai oublié de vous fournir des informations, n’hésitai pas.