Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1166 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Erreur de syntaxe ????????????????????????

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur de syntaxe ????????????????????????

n°1123273
guen16
Posté le 17-06-2005 à 15:21:30  profilanswer
 

:bounce: bonjour :bounce:  
je code:
 
 $requete="SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur=".$NumFournisseur;
 
et on me dit:
 
Erreur SQL !SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur=
Erreur de syntaxe près de '' à la ligne ..
 
comprend pas...


---------------
merci
mood
Publicité
Posté le 17-06-2005 à 15:21:30  profilanswer
 

n°1123281
FlorentG
Unité de Masse
Posté le 17-06-2005 à 15:22:44  profilanswer
 

Y'a quoi dans ton $NumFournisseur ? S'il est vide, c'est normal que ça foire...

n°1123282
micfont999
Simplement Moi
Posté le 17-06-2005 à 15:23:00  profilanswer
 

HURSSSSSSS  
Ta appris à codé ouk toi..?

Code :
  1. $requete="SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur='$NumFournisseur'";

n°1123284
Master p
My new cock ring :D
Posté le 17-06-2005 à 15:23:07  profilanswer
 

numfournisseur est surement un champs TEXT ou VARCHAR. Il faut donc le mettre en quote :
 $requete='SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur="'.$NumFournisseur.'"';
 
edit : FlorentG is the winner, il semblerait probable que numfournisseur soit un champ INT


Message édité par Master p le 17-06-2005 à 15:25:27
n°1123288
FlorentG
Unité de Masse
Posté le 17-06-2005 à 15:25:02  profilanswer
 

micfont999 a écrit :

HURSSSSSSS  
Ta appris à codé ouk toi..?

Code :
  1. $requete="SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur='$NumFournisseur'";



Et toi, c'est où que t'as appris à coder ? :D

$requete = 'SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur=\'' . $NumFournisseur . '\'';


(en faisant gaffe que $NumFournisseur ai été escapé au préalable


Message édité par FlorentG le 17-06-2005 à 15:25:17
n°1123290
ACut
Posté le 17-06-2005 à 15:25:31  profilanswer
 

As-tu vérifié si $NumFournisseur n'est pas vide (zero) ?
 
Edit: Ok, j'arrive après la bataille... Désolé!


Message édité par ACut le 17-06-2005 à 15:26:06
n°1123293
Master p
My new cock ring :D
Posté le 17-06-2005 à 15:26:43  profilanswer
 

FlorentG a écrit :

$requete = 'SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur=\'' . $NumFournisseur . '\'';


Quelle horreur [:tinostar]

$requete = 'SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur="' . $NumFournisseur . '"';


n°1123294
FlorentG
Unité de Masse
Posté le 17-06-2005 à 15:26:47  profilanswer
 

Le mieux est une petite fonction :

function escape($str) {
 
  if(get_magic_quotes_gpc()) {
 
   $str = stripslashes($str);
  }
  if(!is_numeric($str)) {
 
   $str = '\'' . addslashes($str) . '\'';
  }
  return $str;
 }


Comme ça si c'est vide ou si c'est un string, ça escape et ça fout les quotes

n°1123295
FlorentG
Unité de Masse
Posté le 17-06-2005 à 15:27:14  profilanswer
 

Master p a écrit :

Quelle horreur [:tinostar]

$requete = 'SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur="' . $NumFournisseur . '"';



Le miens, y'a des antislashs, ça fait plus pro :o

n°1123299
micfont999
Simplement Moi
Posté le 17-06-2005 à 15:28:16  profilanswer
 

FlorentG a écrit :

Et toi, c'est où que t'as appris à coder ? :D

$requete = 'SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur=\'' . $NumFournisseur . '\'';


(en faisant gaffe que $NumFournisseur ai été escapé au préalable


 
Bah chui désolé mais pourquoi s'embeter à concaténer le code alors qu'on peux faire un truc simple...?
Je ne sais pas si son $numfournisseur est vide ou non ça fo l'afficher pour voir, mais en tout cas, je pensais que l'erreur venais de la.. Désolé ..  :jap:  :(

mood
Publicité
Posté le 17-06-2005 à 15:28:16  profilanswer
 

n°1123301
guen16
Posté le 17-06-2005 à 15:28:40  profilanswer
 

ouai merci sauf que maintenant quand j'affiche le résultat de la requète :  
 $requete="SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur='$NumFournisseur'";
  $result=mysql_query($requete,$db) or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
 
  echo 'La commande pour '.$result.' a été enregistrée.';
 
cela m'affiche "Resource id #3 " au lieu du Nom du fournisseur..


---------------
merci
n°1123302
micfont999
Simplement Moi
Posté le 17-06-2005 à 15:29:44  profilanswer
 

Après ton $result, fait $data = mysql_fetch_object;  
echo 'La commande pour '.$data->nomfournisseur.' a été enregistrée.';

n°1123303
FlorentG
Unité de Masse
Posté le 17-06-2005 à 15:30:13  profilanswer
 

micfont999 a écrit :

Bah chui désolé mais pourquoi s'embeter à concaténer le code alors qu'on peux faire un truc simple...?
Je ne sais pas si son $numfournisseur est vide ou non ça fo l'afficher pour voir, mais en tout cas, je pensais que l'erreur venais de la.. Désolé ..  :jap:  :(


Parce que dans ton cas, il doit parser la chaîne à la recherche de variables, donc d'un point de vue masturbatoire, ton code est beaucoup plus lent que le miens :D

guen16 a écrit :

ouai merci sauf que maintenant quand j'affiche le résultat de la requète :  
 $requete="SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur='$NumFournisseur'";
  $result=mysql_query($requete,$db) or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
 
  echo 'La commande pour '.$result.' a été enregistrée.';
 
cela m'affiche "Resource id #3 " au lieu du Nom du fournisseur..


Va lire la doc sur mysql_fetch_assoc ou sur mysql_result :o

n°1123307
micfont999
Simplement Moi
Posté le 17-06-2005 à 15:31:14  profilanswer
 

FlorentG a écrit :

Parce que dans ton cas, il doit parser la chaîne à la recherche de variables, donc d'un point de vue masturbatoire, ton code est beaucoup plus lent que le miens :D


 
J'y peux rien si t'est précose  [:magnasuprema]  :lol:  :lol: Moi j'aime prendre mon temps...  :jap:  :D  
 

n°1123311
FlorentG
Unité de Masse
Posté le 17-06-2005 à 15:32:51  profilanswer
 

micfont999 a écrit :

J'y peux rien si t'est précose  [:magnasuprema]  :lol:  :lol: Moi j'aime prendre mon temps...  :jap:  :D


Mince, c'était pas dans ce sens :D J'voulais dire que si t'es du genre à te masturber sur des optimisations, c'est mon code qui est plus mieux :D

n°1123313
ACut
Posté le 17-06-2005 à 15:32:53  profilanswer
 

guen16 a écrit :

ouai merci sauf que maintenant quand j'affiche le résultat de la requète :  
 $requete="SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur='$NumFournisseur'";
  $result=mysql_query($requete,$db) or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
 
  echo 'La commande pour '.$result.' a été enregistrée.';
 
cela m'affiche "Resource id #3 " au lieu du Nom du fournisseur..


 
La valeur de retour de mysql_query est un identifiant de ressource et non pas de la data clef en main. Des fonctions PHP permettent d'analyser cette ressource et de récupérer les champs associés. Il faudrait que tu te documentes un chouia avant de te lancer dans MySQL...

n°1123317
Surfoo
Ça va ? ok.
Posté le 17-06-2005 à 15:34:47  profilanswer
 

Et même sans parler de lenteur, rien pour la coloration syntaxique (donc une meilleure lecture du code à l'écran) il faudrait concaténer correctement.

n°1123318
micfont999
Simplement Moi
Posté le 17-06-2005 à 15:34:54  profilanswer
 

FlorentG a écrit :

Mince, c'était pas dans ce sens :D J'voulais dire que si t'es du genre à te masturber sur des optimisations, c'est mon code qui est plus mieux :D


 
Mouai, c'est ça essai de te rattraper comme tu peux.. :)
 
Oki je dit pas l'inverse sinon ton script est certainement mieux... :D Moi je fonctionne comme je fait pas des prog de bourrin et ça fonctionne, après je changerais de méthode quand ça marchera plus.. :)

n°1123319
micfont999
Simplement Moi
Posté le 17-06-2005 à 15:35:27  profilanswer
 

Surfoo a écrit :

Et même sans parler de lenteur, rien pour la coloration syntaxique (donc une meilleure lecture du code à l'écran) il faudrait concaténer correctement.


 
Et s'il travail sur le bloc note...  :lol:  :lol:

n°1123327
Surfoo
Ça va ? ok.
Posté le 17-06-2005 à 15:38:39  profilanswer
 

Je connais personne qui travaille avec le bloc note, faut être masochiste.
 
Scite roxx !

n°1123331
micfont999
Simplement Moi
Posté le 17-06-2005 à 15:41:04  profilanswer
 

Surfoo a écrit :

Je connais personne qui travaille avec le bloc note, faut être masochiste.
 
Scite roxx !


 
HAPedit aussi est très convenable,  bah tu sais qu'au début de mon stage je bossais sur bloc note la mission je te promet, j'ai laché l'affaire au bout de la 120 parse error pour un ; oublié..  :lol:

n°1123335
FlorentG
Unité de Masse
Posté le 17-06-2005 à 15:44:28  profilanswer
 

Moi je suis sous jEdit avec un parser qui me dit mes erreurs de syntaxe PHP :)

n°1123342
guen16
Posté le 17-06-2005 à 15:46:16  profilanswer
 

c'est normal ca: $data = mysql_fetch_object;  ?
il me semble qu'il devrait y avoir des parametres en parenthèse?
vu le résultat affiché:
 
Notice: Use of undefined constant mysql_fetch_object - assumed 'mysql_fetch_object' in c:\program files\easyphp1-7\www\formcomm.php on line 31
La commande pour a été enregistrée.


---------------
merci
n°1123343
FlorentG
Unité de Masse
Posté le 17-06-2005 à 15:46:55  profilanswer
 

$fixed = mysql_fetch_object($result);


Aller, dis-nous que tu viens de commencer la programmation il y a 2 heures :D

n°1123353
guen16
Posté le 17-06-2005 à 15:54:35  profilanswer
 

en gros il faut coder :  
 
 $requete="SELECT nomfournisseur FROM fournisseurs WHERE numfournisseur='$NumFournisseur'";
  $result=mysql_query($requete,$db) or die('Erreur SQL !'.$requete.'<br>'.mysql_error());
  $data = mysql_fetch_object($result);
  echo 'La commande pour '.$data.' a été enregistrée.';
 
et bien figurez-vous que cela ne fonctionne pas :
 
"La commande pour a été enregistrée."


---------------
merci
n°1123359
FlorentG
Unité de Masse
Posté le 17-06-2005 à 15:57:45  profilanswer
 

Ben ouais... T'as oublié la moitié :

 echo 'La commande pour ', $data->nomfournisseur, ' a été enregistrée.';


Note aussi les virgules à la place des points, pas besoin de concaténation pour un echo :)

n°1123360
FlorentG
Unité de Masse
Posté le 17-06-2005 à 15:58:05  profilanswer
 

Bon le mieux, c'est que t'aille lire tout ça : http://fr.php.net/manual/en/ref.mysql.php

n°1123560
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-06-2005 à 18:21:25  profilanswer
 

c'est quoi l'URL du site, que j'aille lui faire quelques injections de SQL ? stune vraie passoire codé comme il est /o\


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le   profilanswer
 


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

  Erreur de syntaxe ????????????????????????

 

Sujets relatifs
Erreur de syntaxe adodb.recordsetErreur de syntaxe
[C] [Débutant] Je suis bloqué sur une erreur de syntaxe ....[VBA] --> Problème rapide ( erreur de syntaxe )
ERREUR : <<<EOF syntaxe PHP avec guillemets doublés !!!!Erreur de syntaxe ??
[debutant Js] Erreur de syntaxeerreur de syntaxe
[MySQL] Erreur de syntaxe que je ne comprend pas ! (aléatoire en plus)MySQL erreur de syntaxe
Plus de sujets relatifs à : Erreur de syntaxe ????????????????????????


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR