probleme de requette sql !!

probleme de requette sql !! - SQL/NoSQL - Programmation

Marsh Posté le 27-05-2008 à 10:04:39    

voila j'importe les données de mon fichiers excel dans mysql ..(le fichier est un .csv)...Ca fonctionne normalement..par contre en mettant cette requette directement dans php ca ne fonctionne pas...comment je dois l'ecrire...la voici :
LOAD DATA LOCAL INFILE 'C:/Program Files/EasyPHP1-8\\tmp\\php1E.tmp'  
REPLACE INTO TABLE `organigramme`
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'

Reply

Marsh Posté le 27-05-2008 à 10:04:39   

Reply

Marsh Posté le 27-05-2008 à 10:36:56    

personne ?? !!

Reply

Marsh Posté le 27-05-2008 à 10:40:40    

non.
Tu ne donnes aucun message d'erreur, rien...on ne sait même pas si ton fichier csv est bien sur le serveur, au bon endroit, ni pourquoi tu mixes des \\ et des / dans ton chemin...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 11:01:14    

c'est le chemin directement creer par mysql....mais meme si je remplace par base.csv qui se trouve a la racine ....aucune erreur n'est renvoyée mais rien est ajouté a la base..je fais quoi?

Reply

Marsh Posté le 27-05-2008 à 11:02:08    

donner un chemin absolu correct?

 

Afficher mysql_error()?


Message édité par skeye le 27-05-2008 à 11:02:22

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 11:04:12    

ben le chemin est le bon....et aucune erreur est renvoyée

Reply

Marsh Posté le 27-05-2008 à 11:04:50    

clem1138 a écrit :

ben le chemin est le bon...


non. Un chemin avec des slashes et antislashes en même temps n'es tpas bon.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 11:05:31    

Et donne ton code php...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 11:05:56    

ben je t'ai dis justement si je ne met que nomdufichier.csv ....le chemin est correct dans ce cas la et ca ne marche pas mieux

Reply

Marsh Posté le 27-05-2008 à 11:06:52    

clem1138 a écrit :

ben je t'ai dis justement si je ne met que nomdufichier.csv ....le chemin est correct dans ce cas la et ca ne marche pas mieux


si tu mets ça le fichier doit être au même endroit que ton script.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 11:06:52   

Reply

Marsh Posté le 27-05-2008 à 11:07:00    

<?
include("connexion_bdd.php" );
mysql_query( 'LOAD DATA LOCAL INFILE "base.csv"  
REPLACE INTO TABLE `organigramme`  
FIELDS TERMINATED BY ";"  
ENCLOSED BY """
ESCAPED BY "\\\\"
LINES TERMINATED BY "\\r\\n"');
 
 
?>

Reply

Marsh Posté le 27-05-2008 à 11:07:18    

ben il est au meme endroit justement...

Reply

Marsh Posté le 27-05-2008 à 11:12:56    

et tu récupères jamais le code de retour de mysql_query?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 11:15:14    

ben la c'est juste un test pour voir si rajouter les infos ds la BDD fonctionne....mais oui je vais le recuperer apres

Reply

Marsh Posté le 27-05-2008 à 11:17:52    

et si tu le récupérais maintenant pour voir si t'as pas un code d'erreur qui remonte?[:dawa]


Message édité par skeye le 27-05-2008 à 11:17:56

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 11:19:46    

c'est fait..mais il ne renvoi qu'une page blanche...le probleme vient bien du fait qu'il ne met rien ds la BDD (pourtant le nbr de champs est identique...jai tt verifier)

Reply

Marsh Posté le 27-05-2008 à 11:23:21    

mais c'est quoi le code de retour de ton putain de mysql_query à la fin?[:roane]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 11:27:39    

<?
include("connexion_bdd.php" );
mysql_query( 'LOAD DATA LOCAL INFILE "base.csv"  
REPLACE INTO TABLE organigramme
FIELDS TERMINATED BY ";"  
ENCLOSED BY """
ESCAPED BY "\"
LINES TERMINATED BY "\r\n"');
$requette=mysql_query("select champs3 from organigramme where id='1'" );
while ($row=mysql_fetch_row($requette))
 {
  $test=$row[0];
  echo $test;
 }
 
?>

Reply

Marsh Posté le 27-05-2008 à 11:28:22    

Affiche $requette.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 11:30:09    

tjr page blanche

Reply

Marsh Posté le 27-05-2008 à 11:32:00    

si je le met avant le while il y a ca renvoyé mais je ne sais pas du tt ce que c'est : " Resource id #4"

Reply

Marsh Posté le 27-05-2008 à 11:34:48    

ouh pinaise j'avais mal regardé. c'est le résultat du query précédent qui est intéressant, pas celui-là!!!!!!!!!!!!!!!!!!


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 11:36:31    

mdr ...et comment je dois faire?? je le met dans un mysql_fetch_row de la meme facon que pr la 2eme ?

Reply

Marsh Posté le 27-05-2008 à 11:43:28    

Non.[:pingouino]
 
Au lieu de juste faire mysq_query(...) tu fais $toto = mysql_query(...), puis tu affiches $toto...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 11:44:45    

euuuuuu page blanche mdr.....

Reply

Marsh Posté le 27-05-2008 à 11:53:20    

on m'a dit ca sur un autre formum est ce possible que ca vienne de ca ??  
as-tu bien déclaré ta base de données en tant que source système ODBC (Panneau de config --> Outils d'administration --> Sources de données (ODBC) --> Onglet System DSN (ou File DSN, ou éventuellement User DSN) --> bouton Ajouter.
Sinon, PHP ne sera pas capable d'atteindre la base.

Reply

Marsh Posté le 27-05-2008 à 12:07:42    

rien à voir, tu n'utilises pas odbc. Montre ton code qui affiche le résultat du premier mysql_query


Message édité par skeye le 27-05-2008 à 12:07:56

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 13:33:22    

réponse peut-être a coté de la plaque mais est ce que c'est réellement une "requête"? çà ressemble plus a un contenu de fichier de paramètre pour un outil d'import.

Reply

Marsh Posté le 27-05-2008 à 13:37:25    

voila...
<?
include("connexion_bdd.php" );
$requette=mysql_query( 'LOAD DATA LOCAL INFILE "base.csv"  
REPLACE INTO TABLE organigramme
FIELDS TERMINATED BY ";"  
ENCLOSED BY """
ESCAPED BY "\"
LINES TERMINATED BY "\r\n"');
echo $requette;
 
?>

Reply

Marsh Posté le 27-05-2008 à 13:38:45    

non c'est bien une requette puisque on peut le faire directement dans mysql....et pour arriver au resultat il execute quand meme une requette.....

Reply

Marsh Posté le 27-05-2008 à 13:52:31    

et ça affiche rien ça?:o et avec un print_r($requette); à la place de echo?


Message édité par skeye le 27-05-2008 à 13:53:06

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 13:54:06    

absolument rien.....je me demande si c'est pas dans les " et les ' que ca foire....quoique il m'aurait renvoyer une erreur....

Reply

Marsh Posté le 27-05-2008 à 13:57:47    

Non c'est bien formé à première vue. Et je suis con, true et false ne s'affichent pas.
Remplace plutôt par ça
 

Code :
  1. if(!$requette){
  2.     echo mysql_error();
  3. }
  4. else{
  5.     echo "ok";
  6. }


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 14:01:47    

tient on avance..:
Erreur de syntaxe près de '\" LINES TERMINATED BY "\r\n"' à la ligne 4

Reply

Marsh Posté le 27-05-2008 à 14:06:53    

clem1138 a écrit :

tient on avance..:
Erreur de syntaxe près de '\" LINES TERMINATED BY "\r\n"' à la ligne 4


Quelle surprise, la requête générée est incorrecte! [:moule_bite]
 
il te reste plus qu'à générer une requête valide.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 14:08:00    

mais je ne vois pas du tt en quoi elle est incorrecte puisque je l'ai recuperer de sites specialisés

Reply

Marsh Posté le 27-05-2008 à 14:11:55    

mdr le pauvre je dois carrement lui casser les .....pieds......nn mais c'est pas faute d'avoir chercher sa fait 2 jours complets que je fais presque que ca

Reply

Marsh Posté le 27-05-2008 à 14:29:48    

...et ça t'est pas venu à l'idée pendant 2 jours d'aller lire la doc de mysql_query?[:roane]

 

Ecris ta requête dans une variable, puis affiche cette variable.


Message édité par skeye le 27-05-2008 à 14:29:57

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 27-05-2008 à 14:38:37    

$requette=mysql_query('LOAD DATA LOCAL INFILE "base.csv"
REPLACE INTO TABLE organigramme
FIELDS TERMINATED BY ";"  
ENCLOSED BY """
ESCAPED BY "\\"
LINES TERMINATED BY "\r\n" ');
echo $requette;
mysql_query($requette);
if(!$requette){    
 echo mysql_error();
 }
 else{    
 echo "ok";
 }
 
reponse :  Query est vide
j'avais jamais vu ca

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed