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

  FORUM HardWare.fr
  Programmation
  PHP

  Petit problème avec WHERE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Petit problème avec WHERE

n°1217993
Orission
Posté le 07-10-2005 à 19:07:39  profilanswer
 

Salut!
 
J'essay d'afficher des champs avec WHERE mais sa me dit :
 

Citation :

Unknown table 'news_numero_3_avec_le_sujet_test' in where clause


 
Voila mon code :
 

Code :
  1. <?php
  2. include('config.php');
  3. $nom_de_page = explode('/',$_SERVER['REQUEST_URI']);
  4. $nom_de_page = $nom_de_page[1];
  5. echo $nom_de_page;
  6. $q = mysql_query('SELECT id,pseudo,message FROM messages WHERE id_page='.$nom_de_page.' ORDER BY id DESC') or die(mysql_error());
  7. while($r = mysql_fetch_array($q))
  8. {
  9. echo $r['pseudo'].'<br />';
  10. }
  11. ?>


 
Et l'echo m'affiche :
 
news_numero_3_avec_le_sujet_test.html mais le WHERE ne prend pas en compte le .html :-(
 
Auriez vous la solution ? :lol:


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, en 1810, « Chez Bonaparte »
mood
Publicité
Posté le 07-10-2005 à 19:07:39  profilanswer
 

n°1217997
naceroth
Posté le 07-10-2005 à 19:15:03  profilanswer
 

1. Pas la bonne cat
2. Relire la doc de mysql, en particulier la partie sur "comment on écrit une chaine de caractères sous mysql" et celle sur l'utilisation du point dans une requête, c'est instructif :D

n°1218000
Orission
Posté le 07-10-2005 à 19:16:24  profilanswer
 

naceroth a écrit :

1. Pas la bonne cat


 
bah la je ne comprend pas c'est bien du PHP non ? :(
 
edit :
mysql_query('SELECT id,pseudo,message FROM messages WHERE id_page="'.$nom_de_page.'" ORDER BY id DESC') or die(mysql_error());
 
Les champs de type string doivent être mis entre quotes wink
... sinon là mySQL interprétait comme "si l'id_page vaut le champs html de la table news_numero_3_avec_le_sujet_test"
 
hihi


Message édité par Orission le 07-10-2005 à 19:22:03

---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, en 1810, « Chez Bonaparte »
n°1218005
naceroth
Posté le 07-10-2005 à 19:23:46  profilanswer
 

Where est autant du PHP que moi pape. Tu aurais exactement le même problème avec ta requête en Java, C ou autre, elle est mal écrite et c'est mysql qui la refuse :)

n°1218123
Protohd
Posté le 07-10-2005 à 23:13:51  profilanswer
 

Il est peut-être possible de faire de la façon suivante (si je ne me suis pas trop planté).
En décomposant un chouilla pour être plus claire
 

Code :
  1. // connection à La base de données MySql
  2. // remplacer $MySQL_Host| $MySQL_User | $MySQL_Passw | $MySQL_Db avec les valeurs apropriées
  3. mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw" ) or die("Impossible de se connecter" );
  4. mysql_selectdb("$MySQL_Db" ) or die("cette base de donnees n'existe pas" );
  5. // On construit la requête
  6. $sql= "SELECT id,pseudo,message FROM messages WHERE id_page='$nom_de_page' ORDER BY id DESC";
  7. // On envoie la requête
  8. $q=mysql_query($sql);

n°1218211
olivthill
Posté le 08-10-2005 à 10:51:10  profilanswer
 

Il manque sans doute les apostrophes autour du nom de la page, parce qu'il s'agit peut-être d'une chaine de caractères et non pas d'un nombre (souvent les champs ID sont des nombres, mais les noms de page sont souvent des chaines de caractères). L'ennui c'est que les apostrophes sont utilisées pour entourer la commande, mais une solution, dans ce cas, consiste à remplacer les apostrophes de PHP par des guillemets (donc c'est en partie une question PHP, et pas seulement une question MySql), ce qui donne :

$q = mysql_query("SELECT id,pseudo,message FROM messages WHERE id_page='".$nom_de_page."' ORDER BY id DESC" ) or die(mysql_error());


Edit : Excuse-moi -TrAsHeR-, je n'avais pas vu que tu avais déjà trouvé la bonne réponse.


Message édité par olivthill le 08-10-2005 à 10:55:01

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

  Petit problème avec WHERE

 

Sujets relatifs
probleme declaration pour firefox[1/2 RESOLU] Problème installation Tomcat 5
Problème avec un ActiveXProbléme avec un script d'upload d'images
probleme minute: fonction chaine en phpproblème pour récup id
[mysql] problème majuscule et minusculeProblème simple
petit programmeProbleme avec Kit Graphique
Plus de sujets relatifs à : Petit problème avec WHERE


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