Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
661 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  probleme requette sql en php!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme requette sql en php!

n°1729373
drazor
Posté le 07-05-2008 à 10:59:39  profilanswer
 

Bonjour.
voila cette requette ne marche pas ???
 

Code :
  1. mysql_query("INSERT INTO `architectes2` ( `nom1` , `nom2` , `adresse` , `codepostal` , `commune` , `telephone` , `email` ) VALUES('$champs[0]', '$champs[1]', '$champs[2]', '$champs[3]', '$champs[4]','$champs[5]', '$champs[6]', '$champs[7]')" );


 
et celle ci oui:
 

Code :
  1. mysql_query("INSERT INTO `architectes2` ( `nom1` , `nom2` , `adresse` , `codepostal` , `commune` , `telephone` , `email` ) VALUES('dsf', 'dsff', 'rrr', 'rrrrrr]', 'dsfsdf','ssdsf', 'ssdfdsf', 'sdff' )" );

 
 
le magic_quotes_gpc  est sur OFF.
 
Merci par avance pour votre aide! :)

mood
Publicité
Posté le 07-05-2008 à 10:59:39  profilanswer
 

n°1729376
babasss
Posté le 07-05-2008 à 11:01:49  profilanswer
 

drazor a écrit :

voila cette requette ne marche pas ???


Quelle est l'erreur renvoyée ?
 


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1729378
drazor
Posté le 07-05-2008 à 11:03:35  profilanswer
 

déja je met le code !
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  3.    <head>
  4.        <title>script de génération de mail</title>
  5.         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  6.     </head>
  7.  
  8.     <body>
  9. <?php
  10. mysql_connect("localhost", "root", "" );
  11. mysql_select_db("questionnaire_airria" );
  12. $nb_ligne = 0;
  13. $nb_champs = 0;
  14. $mail= "aurelien@toto.com";
  15. $fichier_csv = @fopen("test.csv", "r" );
  16. if($fichier_csv)
  17. {
  18.   while (!feof($fichier_csv))
  19.   {
  20.    $curent_ligne = fgets($fichier_csv, 4096);
  21.  
  22.    $champs = explode(";", $curent_ligne);
  23.    $nb_ligne++;
  24.    mysql_query("INSERT INTO `architectes2` ( `nom1` , `nom2` , `adresse` , `codepostal` , `commune` , `telephone` , `email` ) VALUES('$champs[0]', '$champs[1]', '$champs[2]', '$champs[3]', '$champs[4]','$champs[5]', '$champs[6]', '$champs[7]')" );
  25.   }
  26.   print($nb_ligne . " lignes ajoutées." );
  27. }
  28. fclose($fichier_csv);
  29. mysql_close();
  30. ?>
  31. </body>
  32. </html>


 
 
affichage:
 

Code :
  1. Notice: Undefined index: 7 in C:\Program Files\EasyPHP 2.0b1\www\mailer.php on line 29
  2. Notice: Undefined index: 7 in C:\Program Files\EasyPHP 2.0b1\www\mailer.php on line 29
  3. Notice: Undefined index: 7 in C:\Program Files\EasyPHP 2.0b1\www\mailer.php on line 29
  4. Notice: Undefined index: 7 in C:\Program Files\EasyPHP 2.0b1\www\mailer.php on line 29
  5. Notice: Undefined index: 1 in C:\Program Files\EasyPHP 2.0b1\www\mailer.php on line 29
  6. Notice: Undefined index: 2 in C:\Program Files\EasyPHP 2.0b1\www\mailer.php on line 29
  7. Notice: Undefined index: 3 in C:\Program Files\EasyPHP 2.0b1\www\mailer.php on line 29
  8. Notice: Undefined index: 4 in C:\Program Files\EasyPHP 2.0b1\www\mailer.php on line 29
  9. Notice: Undefined index: 5 in C:\Program Files\EasyPHP 2.0b1\www\mailer.php on line 29
  10. Notice: Undefined index: 6 in C:\Program Files\EasyPHP 2.0b1\www\mailer.php on line 29
  11. Notice: Undefined index: 7 in C:\Program Files\EasyPHP 2.0b1\www\mailer.php on line 29
  12. 5 lignes ajoutées.

n°1729379
drazor
Posté le 07-05-2008 à 11:03:49  profilanswer
 

base non peuplée!!

n°1729384
infoman64
JE SUIS LA POUR TOI MON AMI
Posté le 07-05-2008 à 11:09:33  profilanswer
 

test si tu recupere bien ce que tu insere
echo $champs[6];  
par exemple

n°1729388
drazor
Posté le 07-05-2008 à 11:12:30  profilanswer
 

yes sa affiche bien le contenus!

n°1729392
soju
One shot !
Posté le 07-05-2008 à 11:17:10  profilanswer
 

c'est la lecture du csv qui pose problème, donc soit un pb de formatage du fichier, soit une ligne qui fait plus de 4096 octets...etc
 
PS: tu peux utiliser http://fr.php.net/manual/fr/function.fgetcsv.php

n°1729393
NazzTazz
Profil: d'aile
Posté le 07-05-2008 à 11:17:47  profilanswer
 

Tu peux pas utiliser cette syntaxe: $tableau[index] dans une chaine interprétée ( entre "" ), tu dois l'entourer avec des accolades: {$tableau[index]} ou utiliser une chaine simple ( entre '' ) et concatener normalement.
 
De plus ta facon de parcourir ton fichier csv est pas bonne, rien ne te garantit que tu vas obtenir une ligne a la fois ( tu donnes une taille de lecture fixe), tu devrais utiliser file() si ton fichier n'est pas plus gros que 2klignes ou file_get_contents() + explode("\n", ).
 
Enfin, si tu etais passé par une variable pour faire tes requetes, du style:
 
$query = "TA REQUETE";
 
tu aurais pu l'afficher avant de l'executer:
 
echo $query;
 
et te rendre compte tout seul que les données n'etaient meme pas dedans, histoire de commencer a debugger ton machin comme un grand.
 
Autre chose, il existe une fonction mysql_error() qui te donne des messages d'erreur en general assez clairs, meme si l'insertion de données vides ne provoque pas d'erreurs dans ton cas ( mais personne t'inderdit d'anticiper )

n°1729394
drazor
Posté le 07-05-2008 à 11:18:00  profilanswer
 

Citation :

c'est la lecture du csv qui pose problème


 
Pourtant ma variable champs a toujours un contenus?????

n°1729397
soju
One shot !
Posté le 07-05-2008 à 11:22:24  profilanswer
 

drazor a écrit :

Pourtant ma variable champs a toujours un contenus?????

la preuve que non vu les messages d'erreur

n°1729399
NazzTazz
Profil: d'aile
Posté le 07-05-2008 à 11:25:02  profilanswer
 

Sinon, lire toutes les reponses ca peut etre utile.

n°1729403
drazor
Posté le 07-05-2008 à 11:26:21  profilanswer
 

Citation :

si ton fichier n'est pas plus gros que 2klignes ou file_get_contents() + explode("\n", ).


désolé je ne maitrise pas trop ...
je suis en train de faire la query avec des "+" pour concatainer!

n°1729404
NazzTazz
Profil: d'aile
Posté le 07-05-2008 à 11:27:20  profilanswer
 

Surtout pas.
 
+ C'est une addition, la concatenation en php c'est avec l'operateur "."

n°1729406
drazor
Posté le 07-05-2008 à 11:27:50  profilanswer
 

merci....
je suis un boulet venant du C++ ...

n°1729412
NazzTazz
Profil: d'aile
Posté le 07-05-2008 à 11:29:19  profilanswer
 

drazor a écrit :

merci....
je suis un boulet venant du C++ ...


 
en php les strings ne sont pas des objets mais des types de base, donc y'a pas de surcharge de operator+.

n°1729413
Paulp
~, sweet ~
Posté le 07-05-2008 à 11:30:42  profilanswer
 

nom1 => $champs[0]
nom2 => $champs[1]
adresse => $champs[2]
codepostal => $champs[3]
commune => $champs[4]
telephone => $champs[5]
email => $champs[6]
??? => $champs[7]
 
Ça peut être gênant ...  :D

n°1729418
drazor
Posté le 07-05-2008 à 11:34:30  profilanswer
 

Paulp merci té un génie ... ou moi un cretin ...
 
je vais de ce pas m'auto flagéller ...  :D

n°1729426
soju
One shot !
Posté le 07-05-2008 à 11:37:47  profilanswer
 

bien vu Paulp
 
il faut tout de même revoir la lecture du csv...

n°1729427
drazor
Posté le 07-05-2008 à 11:38:17  profilanswer
 

je suis dessus soju!!!
je suis dessus ...

n°1729429
soju
One shot !
Posté le 07-05-2008 à 11:39:37  profilanswer
 

drazor a écrit :

je suis dessus soju!!!

je ne te permet pas, non mais c'est quoi ces manières  :whistle:  

n°1729431
drazor
Posté le 07-05-2008 à 11:40:07  profilanswer
 

si tu prefere etre en dessous ... :D

n°1729660
art_dupond
je suis neuneu... oui oui !!
Posté le 07-05-2008 à 17:12:37  profilanswer
 

fgets non pour lire ligne par ligne ?


---------------
oui oui
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  probleme requette sql en php!

 

Sujets relatifs
[PHP] Probleme requette sqlPRobleme requette SQL
Probleme Requette SQLprobleme : Select d'une requette MYSQL
probleme de requette phpProbleme de requette
[PHP/Mysql] Probleme de requette - HelpProbleme de Syntaxe Requette Mysql
Probleme de requette sur mysql[ACCESS] Problème de requette
Plus de sujets relatifs à : probleme requette sql en php!


Hit-Parade
Copyright © 1997-2012 Hardware.fr SARL / Groupe LDLC / LesNumeriques.com / Version anglaise du site: BeHardware