Sql bug absolument incompréhensible...

Résolu/Fermé
Vlandy Messages postés 19 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 28 mai 2013 - 16 mars 2013 à 11:17
Vlandy Messages postés 19 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 28 mai 2013 - 16 mars 2013 à 22:45
Bonjour,

Pour que vous compreniez bien, j'ai créer des espaces perso pour mes membres et j'essaye d'afficher leur informations a l'intérieur de celle ci.

Dans un endroits, je voudrais afficher le nombre total de commentaire qu'ils ont posté sur le site.
A partir de la je me retrouve avec deux cas de figure(deux méthodes) , une qui marche et l'autre non et j'aimerais comprendre pourquoi.

méthode qui marche :

Je crée et je vais la fiche du membre grâce à ce code
<a  href="membre.php?m=<?php echo $info->id;?>


Je me retrouve sur http://localhost/Site7/membre.php?m=12545(id du membre)

Maintenant sur la fiche membre.php pour afficher le nombre de commentaire je mets ce code:
extract($_GET);
$m = strip_tags($m);
$id = strip_tags($m);

$commentaire  = $DB->query ("SELECT * FROM comments WHERE comments.user_id = $id");

$nb_commentaire = count($commentaire);

<p> Le membre a posté:<?php echo $nb_commentaire; ?></p>


Dans ce cas tout fonctionne, j'ai le bon nombre de commentaire posté

maintenant je vous donne la méthode qui ne fonctionne pas

Je crée et je vais la fiche du membre grâce à ce code
<a  href="membre.php?m=<?php echo $info->username;?>



Je me retrouve sur http://localhost/Site7/membre.php?m=pseudo(pseudo du membre)

Maintenant sur la fiche membre.php pour afficher le nombre de commentaire je mets ce code:
extract($_GET);
$m = strip_tags($m);
$id = strip_tags($m);

$commentaire  = $DB->query ("SELECT * FROM comments WHERE comments.username = $id");

$nb_commentaire = count($commentaire);

<p> Le membre a posté:<?php echo $nb_commentaire; ?></p>


Voila comme vous le voyez le code est sensiblement le même a part que dans la méthode 1 je me sert de l'ID du membre pour sa fiche et pour obtenir les commentaires et dans la méthode 2 je me sert de l'username

alors pourquoi la méthode 1 fonctionne et pas la 2 ? je reste dispo si vous avez besoin d'info supplémentaire.. merci
A voir également:

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
16 mars 2013 à 14:52
essaies avec:

$commentaire  = $DB->query ("SELECT * FROM comments WHERE comments.username = '$id' ");
0
Vlandy Messages postés 19 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 28 mai 2013
16 mars 2013 à 22:45
Merci Alain_42 cela fonctionne. Bonne soirée
0