Problème Mysql script de commentaires

Bonjour,
Voilà j'ai installé un script de commentaires sur mon site et en voulant tester, je tombe sur ça :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in .../derniers_commentaires.php on line 13


Et dans le fichier "derniers_commentaires, à la ligne 13 il y a ceci :
$nbResults = mysql_num_rows($sql);


Voici une plus grande partie du code :
<?php
//-------------------------------------------------
// Auteur :	Laurent ADDA
// Email :	webmaster@phpscripts-fr.net
// Sujet :	affichage des derniers commentaires
//-------------------------------------------------

if (!isset($rep) || isset($_POST['rep']) || isset($_GET['rep']) || isset($_COOKIE['rep'])) $rep = './';
require_once($rep.'config/fonctions.lib.php');
require_once($rep.'langues/'.$langue.'.lang.php');

$sql = mysql_query('SELECT nom, texte, date FROM '.$table.' ORDER BY id DESC LIMIT 0, '.$nb_derniers_commentaires, $connection);
$nbResults = mysql_num_rows($sql);


Que faire, comment résoudre ce problème? Merci d'avence.
--
Vince-sk8
Configuration: Windows XP
Firefox 3.0.3

9 réponses

  • Votes
  • Date
  • Date décroissante
  1. je pense que sa vient des identifiants de connexion a MySQL qui doivent être incorrectes .
    sinon, la table contenu dans la variable $table est inexistante.
    1. Pourrais tu afficher la requête lors de son exécution stp ?
      $sql = mysql_query('SELECT nom, texte, date FROM '.$table.' ORDER BY id DESC LIMIT 0, '.$nb_derniers_commentaires, $connection) or die("ERROR  $sql");
      

      Ça nous permettra de voir si la requête ne comporte pas d'erreur déjà , je vois pas ou il pourrait y avoir d'autres erreurs. Le ,$connection me chagrine un peu , je peux me tromper aussi :p
      1. Désolé de faire le boulet, mais je ne comprends pas trop ce que tu me dis de faire Chupachups23.
        Pour Sonik21, mes identifiants sont corrects.
        1. Quand tu as une erreur sur un requête sql , tu peu l'afficher en utilisant " or die("ERROR $sql"); " donc remplace cette ligne :

          $sql = mysql_query('SELECT nom, texte, date FROM '.$table.' ORDER BY id DESC LIMIT 0, '.$nb_derniers_commentaires, $connection);
          

          Par :
          $sql = mysql_query('SELECT nom, texte, date FROM '.$table.' ORDER BY id DESC LIMIT 0, '.$nb_derniers_commentaires, $connection) or die("ERROR  $sql");
          
          1. C'est bizar , c'est censé montrer la requête...

            Tu pourrais essayer ceci :
            $sql = mysql_query('SELECT nom, texte, date FROM '.$table.' ORDER BY id DESC LIMIT 0, '.$nb_derniers_commentaires.'', $connection) or die ("ERROR  $sql");
            


            Je suis pas sur de moi , mais il pourrait s'agir d'une petite erreur dans la saisie de la requête sql.
            1. $query = 'SELECT nom, texte, date FROM '.$table.' ORDER BY id DESC LIMIT 0,'.$nb_derniers_commentaires.'';
              $resultat = mysql_query($query) or die("ERRORaffichage $query");
              $nbResults = mysql_num_rows($resultat);
              


              Voila j'ai vu qu'il y avait un espace après la virgule après le zéro ,ça faisait que la variable contenant la requête restait vide , essai cette requête .Si ça marche toujours pas , je suis désolé mais j'essaie de t'aider du mieux que je peux.
              1. Merci de ton aide. :)
                Voilà ce qui est affiché :
                ERRORaffichage SELECT nom, texte, date FROM commentaires ORDER BY id DESC LIMIT 0,10