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

  FORUM HardWare.fr
  Programmation
  PHP

  P'tit problème de parse_error

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

P'tit problème de parse_error

n°1425317
chewee297
Posté le 14-08-2006 à 15:17:47  profilanswer
 

Salut,
 
J'ai un p'tit problème de Parse Error avec ce script. J'essaie depuis plusieurs heures de résoudre ce problème mais j'y arrive pas (je vous cache pas que je suis débutant  :whistle: ...). Le parse error est sur cette ligne:

Code :
  1. $requete = mysql_query('SELECT membre FROM colonne1 WHERE "'.$variable.'"') or die(mysql_error());


Voici le code en entier:
 

Code :
  1. <?php
  2. if (isset($_GET['membre']))
  3. {
  4.                 mysql_connect("localhost", "root", "" );
  5.                 mysql_select_db("bdd" );
  6.                
  7.    $variable = 'membre="'.$_GET['membre'].'"'
  8.       $requete = mysql_query('SELECT membre FROM colonne1 WHERE "'.$variable.'"') or die(mysql_error());
  9.              
  10.                 while ($reponse = mysql_fetch_array ($requete) )
  11.                 {
  12.                 ?>
  13.  
  14.                 <?php echo ($reponse['membre']); ?>
  15.                 <?php
  16.                 }
  17.         mysql_close();
  18.                 }
  19.    ?>


Pouvez vous m'aider?

mood
Publicité
Posté le 14-08-2006 à 15:17:47  profilanswer
 

n°1425319
Lootro
Posté le 14-08-2006 à 15:24:07  profilanswer
 

Ta requête est incomplète.
 

Code :
  1. $requete = mysql_query('SELECT membre FROM colonne1 WHERE NOMDUCHAMP = "'.$variable.'"') or die(mysql_error());


 
Voila ce que tu devrais avoir, pour l'instant, c'est un non sens pour mysql, tu le fais rechercher, mais il ne sait pas dans quel champ.
 
Par convention, et parce que ça ne mange pas de pain, tu devrais selectionner tous les champs, cela permet plus de souplesse. A savoir un code du type  
 

Code :
  1. $requete = mysql_query('SELECT * FROM colonne1 WHERE NOMDUCHAMP = "'.$variable.'"') or die(mysql_error());


 
Colonne1 doit donc être le nom de la table que tu selectionnes.

Message cité 1 fois
Message édité par Lootro le 14-08-2006 à 15:27:43
n°1425320
chewee297
Posté le 14-08-2006 à 15:31:33  profilanswer
 

Oui mais non, je voudrais que le nom du champs soit contenu dans $variable que je met ensuite dans ma requete. Est ce que c'est possible ou pas?

n°1425321
Lootro
Posté le 14-08-2006 à 15:37:40  profilanswer
 

Totalement, à ce moment, tu as quelque chose du type  
 

Code :
  1. $requete = mysql_query('SELECT * FROM colonne1 WHERE '.$variable.' = "'.$requete.'"') or die(mysql_error());


 
$variable sera le nom du champ
$requete l'occurence recherchée

n°1425322
Sh@rdar
Ex-PhPéteur
Posté le 14-08-2006 à 15:40:47  profilanswer
 

sinon l'erreur c'est qu'il manque ; à la fin de la ligne précédente ;)


Message édité par Sh@rdar le 14-08-2006 à 15:40:55

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1425327
chewee297
Posté le 14-08-2006 à 16:06:33  profilanswer
 

Bien vu pour le ; merci!
 
Mais maintenant quand je fais Envoyer j'obtient ça:
 

Code :
  1. Erreur de syntaxe près de 'Dupont""' à la ligne 1

 
 :??:  Que faire?

n°1425328
mIRROR
Chevreuillobolchévik
Posté le 14-08-2006 à 16:07:58  profilanswer
 

Lootro a écrit :

Par convention, et parce que ça ne mange pas de pain, tu devrais selectionner tous les champs, cela permet plus de souplesse.


 
ah ?

n°1425332
DarkHope
Posté le 14-08-2006 à 16:18:58  profilanswer
 

Citation :

Par convention, et parce que ça ne mange pas de pain, tu devrais selectionner tous les champs, cela permet plus de souplesse. A savoir un code du type  


 
C'est du grand n'importe quoi là.
 
J'aimerais connaitre ta convention. Ceci est l'erreur à ne pas faire, je comprends pas que tu puisses parler de convention.
C'est plus rapide à taper ok, mais ça va sélectionner plein de champs inutiles. Au moins en tapant ce qu'il a besoin, il sait ce qu'il aura, sans utiliser de gaspiller de mémoire en stockant les attributs inutiles.
Même s'il avait besoin de tous les attributs de la table actuelle, il est préférable de tous les lister, dans l'optique d'une possible modification à venir qui rajouterait des champs, qui ne seraient pas utiles à sa requête.


Message édité par DarkHope le 14-08-2006 à 16:20:16
n°1425333
Lootro
Posté le 14-08-2006 à 16:21:32  profilanswer
 

Je parle de convention parce que je n'ai jamais vu dans tous les scripts qu'il m'a été donné de voir, quelqu'un coder en mettant 10 champs à la suite, et je code depuis cinq ans.

Message cité 1 fois
Message édité par Lootro le 14-08-2006 à 16:22:41
n°1425336
mIRROR
Chevreuillobolchévik
Posté le 14-08-2006 à 16:24:50  profilanswer
 

Lootro a écrit :

Je parle de convention parce que je n'ai jamais vu dans tous les scripts qu'il m'a été donné de voir, quelqu'un coder en mettant 10 champs à la suite, et je code depuis cinq ans.


 
c est pas ce qui fait une convention  :sweat:  

mood
Publicité
Posté le 14-08-2006 à 16:24:50  profilanswer
 

n°1425337
DarkHope
Posté le 14-08-2006 à 16:28:47  profilanswer
 

La guerre des étoiles
Je préfère cette convention.
 
dh, qui ne code en php qu'occasionnellement et que depuis environ 2 ans.


Message édité par DarkHope le 14-08-2006 à 16:30:03
n°1425339
Lootro
Posté le 14-08-2006 à 16:39:09  profilanswer
 

Ce n'est pas l'expérience qui fait de moi un meilleur codeur que toi. Je fais mon méa culpa pour l'étoile, donc, j'y prendrais plus garde à l'avenir.

n°1425340
DarkHope
Posté le 14-08-2006 à 16:54:29  profilanswer
 

;)
Sinon une autre erreur que je viens de voir, tout seul, dans le code:

Code :
  1. $variable = 'membre="'.$_GET['membre'].'"'
  2. $requete = mysql_query('SELECT membre FROM colonne1 WHERE "'.$variable.'"') or die(mysql_error());


 
J'suis pas sûr que ta requête fonctionne. Quand tu mets un WHERE, le nom de l'attribut n'a pas besoin d'être entre quotes, sinon il va être considéré comme du texte (or le texte 'membre' est différent du texte  'Adrien') donc ta requête deviendrait:  

Code :
  1. $variable = 'membre="'.$_GET['membre'].'"';
  2. $requete = mysql_query('SELECT membre FROM colonne1 WHERE '.$variable.') or die(mysql_error());


Message édité par DarkHope le 14-08-2006 à 17:05:58

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

  P'tit problème de parse_error

 

Sujets relatifs
Problème date et graphique[JSP] Problème de contexte
Problème avec nombre d'enregistrements dans une tableProblème de compatibilité: Sessions espace membre + Quiz Self Page!
[C]Problème d'inclusions imbriquées[LINUX] Probleme de gcc sous le terminal
Problème de liens survoléProblème avec Ganttproject ...
Problème UTF8 +scriptproblème avec NVU
Plus de sujets relatifs à : P'tit problème de parse_error


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