[mysql]problème load_data_infile quotes ou plus grave ?

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 : [mysql]problème load_data_infile quotes ou plus grave ?

par Black_Layer » 13 août 2007, 20:47

Ensuite, la règle, ce n'est pas pas de "up" pendant un certain temps, c'est pas de "up" tout court, peut être que la règle te semble idiote ou stricte, mais c'est la règle…
Pourtant si j'avais pas fait ce up contraire au règles, j'aurais pas eu de réponse.

Bref, en tout cas merci pour ta réponse ; je passe ce topic en résolu :)

par Sékiltoyai » 12 août 2007, 19:24

Alors, déjà, ce n'est pas ici qu'il faut débattre de cela, mais dans le forum PHPFrance.
Ensuite, la règle, ce n'est pas pas de "up" pendant un certain temps, c'est pas de "up" tout court, peut être que la règle te semble idiote ou stricte, mais c'est la règle…

Enfin, pour visionner les droits, c'est la commande

Code : Tout sélectionner

SHOW GRANTS;
Si tu n'as pas FILE dedans, c'est que tu ne peux pas charger des données dans des fichiers par LOAD DATA INFILE.

par Black_Layer » 12 août 2007, 18:51

Modération :
Black_Layer, les "up" sont interdits sur PHPFrance.

Si tu n'as pas obtenu de réponse, c'est (au choix) :
- que ta question est mal formulée : reformule-la différemment ;
- que personne ne connaît la réponse ici : faire un "up" ne te donnera pas davantage de résultats ;
- que la réponse demandée exige un travail important que personne ne va faire à ta place ;
- que trop peu de temps s'est écoulé depuis ton précédent message pour qu'un membre ait pu y répondre.

Merci de prendre le temps de lire les règlements.
Bonjour,

Je me permets de répondre, non pas pour me faire bannir, mais plutôt dans le but de débattre de ces règles et surtout, de trouver une réponse à mon problème.

J'ai effectivement pris connaissance de ces règles mais :

- ma question est simple, claire et compréhensible.
- la personne qui m'a parlé de ces droits doit savoir ce dont elle parle.
- la réponse demandée est juste une phrase issue de la connaissance de celui qui m'a parlé de ces droits.
- le temps écoulé entre mes deux ups était de trois jours.

Bref, je ne pensais pas contredire un quelconque règlement, je suis juste un phpeur qui a besoin d'aide ! :cry:

par zeus » 11 août 2007, 14:03

Modération :
Black_Layer, les "up" sont interdits sur PHPFrance.

Si tu n'as pas obtenu de réponse, c'est (au choix) :
- que ta question est mal formulée : reformule-la différemment ;
- que personne ne connaît la réponse ici : faire un "up" ne te donnera pas davantage de résultats ;
- que la réponse demandée exige un travail important que personne ne va faire à ta place ;
- que trop peu de temps s'est écoulé depuis ton précédent message pour qu'un membre ait pu y répondre.

Merci de prendre le temps de lire les règlements.

par Black_Layer » 11 août 2007, 13:51

up :oops:

par Black_Layer » 08 août 2007, 19:34

up :arrow:

par Black_Layer » 05 août 2007, 20:36

Mais comment je peux voir si ce droit est donné ou pas ?

par zeus » 05 août 2007, 19:34

euh, là, je dirais que le serveur n'a pas pu se connecter au SGBD. :?

Ou alors, c'est que tu ne disposes pas du droit FILE sur ton serveur :-k
plus d'info sur le droit FILE : http://dev.mysql.com/doc/refman/5.0/fr/load-data.html (cherche "droit FILE")

par Black_Layer » 05 août 2007, 19:30

Après changement des dates, j'obtiens l'erreur suivante :

Code : Tout sélectionner

#1045 - Access denied for user 'web75-ljt'@'%' (using password: YES)

par zeus » 05 août 2007, 18:47

Normalement, un champs d'une table ne devrait pas commencer par un chiffre :?

La solution que je t'invite très fortement à suivre, c'est de renommer tes champs qui commence par un chiffre. Par exemple, si 2000 représente une année, renomme le en "annee_2000"

Sinon, MySQL permet une astuce qui est pratique même si je te la déconseille, c'est de mettre des ` ("alt gr" + 7) autour des champs.

par Black_Layer » 05 août 2007, 18:41

Oops, c'est vrai que si on commence comme ça, ça va pas aller !

Désolé, le copier-coller c'est vraiment pas bon (depuis le début je vous recopie une mauvaise erreur suite à un mauvais copier-coller)

Donc voici l'erreur qui me pose soucis :

Code : Tout sélectionner

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 2000, 2002, 2004, 2006, 2007)' at line 10

par zeus » 05 août 2007, 18:26

Quand je regarde cette erreur

Code : Tout sélectionner

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '‘/LJT.csv’ INTO TABLE Liste_JT FIELDS TERMINATED BY ';' ENCLOSED BY ' at line 1
Je lit que l'erreur se situe avant le /LJT.csv, donc le quote.

Ensuite, je regarde cette ligne dans ta requête :

Code : Tout sélectionner

LOAD DATA INFILE ‘/LJT.csv’
Je remarque que tu n'utilises pas un simple quote (', au dessus du 4)

par Black_Layer » 05 août 2007, 17:50

Mais j'ai toujours utilisé des simple quotes partout, le problème c'est que dans ma liste csv (qui est très longue !!), j'ai des guillements et que lorsque je les mets entre simple quotes on arrive au premier post de ce topic...

:-s :-k :-s

Alors je tape quoi ?

Ca ?

Code : Tout sélectionner

LOAD DATA INFILE ‘/LJT.csv’ INTO TABLE Liste_JT FIELDS TERMINATED BY ';' ENCLOSED BY ” ESCAPED BY '\\' LINES STARTING BY '' TERMINATED BY '\n' (Categorie, Ville, Nom, Statut, 2000, 2002, 2004, 2006, 2007)
Si oui, l'erreur générée est la suivante :

Code : Tout sélectionner

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '‘/LJT.csv’ INTO TABLE Liste_JT FIELDS TERMINATED BY ';' ENCLOSED BY ' at line 1

par zeus » 05 août 2007, 17:46

Sinon, concernant l'emplacement du fichier, s'il se trouve à la racine de ton serveur, je dirais "/Liste_JT" :-k

par Sékiltoyai » 05 août 2007, 17:39

non, il faut que tu utilises des simples quotes partout