Mysql_num_rows() expects parameter 1 to be resource

lamiss -  
 lamiss -
Bonjour,
l'erreur
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\www\recherche\function.php on line 20

si le code
$query=mysql_query('SELECT * FROM ouvrage WHERE $ou');
$rows=mysql_num_rows($query);
if($rows)
{
echo $rows;
}

2 réponses

  1. cyril1982 Messages postés 110 Statut Membre 12
     
    Bonjour,

    mysql_query te retourne un boolean au lieu d'une ressource.
    Il retourne "false" car il y a une erreur dans la requête.
    Tu as mis des quotes simples au lieu de guillemets, la variable$ou n'est donc pas remplacée dans la requête :

    $query=mysql_query("SELECT * FROM ouvrage WHERE $ou");  
    1
    1. lamiss
       
      merrrrrrrrrrrrrrrci beaucoup le programme est ça marche
      0
    2. cyril1982 Messages postés 110 Statut Membre 12
       
      De rien ;)
      0
    3. lamiss
       
      bonjour
      le programme est ça marche pour recherche un seul mot mais je faire une recherche pour deux mot affiche le même erreur

      Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\www\recherche\function.php on line 20

      si le code source
      }

      $query=mysql_query("SELECT * FROM ouvrage WHERE $ou");
      $rows=mysql_num_rows($query);
      if($rows)
      {
      while ($row=mysql_fetch_assoc($query))
      {
      echo $row['titre']."<br/><strong>".$row['auteurID']."</strong><br/>";
      }
      }else echo"Pas de résultat pou votre recherche".$searches;
      }
      0
    4. cyril1982 Messages postés 110 Statut Membre 12
       
      Bonjour, que contient $ou ? Le problème vient de là.
      0
    5. lamiss
       
      merci ^^
      mais je ne trouve pas la solution :'(
      0
  2. Bob201477 Messages postés 8 Statut Membre 3
     
    Hello,

    Ta requête ne fonctionne pas. Que donne un echo "SELECT * FROM ouvrage WHERE $ou";

    ?

    Que contient ta variable $ou ? le souci vient de là ou alors de la table "ouvrage" qui n'existe pas ou qui n'est pas accessible.

    Regarde ce cours sur la concaténation des variables en PHP : https://www.vulgarisation-informatique.com/variables-constantes.php
    0
    1. lamiss
       
      merci beaucoup
      si le code source pour la fonction svp aide moi
      le programme est ça marche pour recherche un seul mot mais pour plusieurs mot a fiche (pas de résultat )
      <?php
      include('bdd.php');

      function resultat_recherche($search)
      {
      $ou="";
      $search=preg_split('/[\s]+/',$search);

      $total_resultat=count($search);
      foreach($search as $key=>$searches)
      {
      $ou.= "titre LIKE '%$searches%'";
      if($key!=($total_resultat-1))
      {
      $ou.='AND';
      }
      }

      $query=mysql_query("SELECT * FROM ouvrage WHERE $ou");
      $rows=mysql_num_rows($query);
      if($rows)
      {
      while ($row=mysql_fetch_assoc($query))
      {
      echo $row['titre']."<br/><strong>".$row['auteurID']."</strong><br/>";
      }
      }else echo"<h6>Pas de résultat pou votre recherche </h6>".$searches;
      }
      ?>
      0