Warning: mysql_num_rows() expects parameter 1 to be resource

Résolu
Bonjour,



J'utilise Easy PHP 5.4.6 depuis peu et j'ai voulu rapatrier les scripts qui tournent sur un site pour travailler en local un peu de mise en page.

Avec cette version d'Easy PHP, j'ai quelques messages d'erreur déjà trop compliqués pour moi. Quelqu'un peut m'aider à y voir clair ?

------------------

Message d'erreur 1
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP-12.1\www\lieux\lieux-dits\cherlieuderoul.php on line 49

Le bout de script correspondant est censé chercher le nombre de lignes dans une table

45 <?php
46 $sql="SELECT * FROM lieudit2";
47 $req=mysql_query($sql,$db);
48 // on compte le nombre de résultats
49 $res = mysql_num_rows($req);
50 echo '<center><font color="006902"><i>Il y a '.$res.' références dans cette base.</i></font></center>';
51 ?>

------------------

Message d'erreur 2 (sensiblement identique)
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP-12.1\www\lieux\lieux-dits\cherlieuderoul.php on line 86

Normalement on a l'affichage d'un menu déroulant avec un choix à faire dans une liste

83 <?php
84 $sql="SELECT DISTINCT nom FROM lieudit2 order by nom ASC";
85 $optio=mysql_query($sql,$db);
86 while($row = mysql_fetch_row($optio)) {
87 print "\t\t<option>".($row[0])."\n";
88 }
89 ?>

2 réponses

  1. salut
    à quoi correspond $db ?
    2
    1. C'est le nom de la base de données
      0
    2. je savais pas que ca se mettait là..
      0
    3. Oups, j'ai écrit une connerie... Pardon !
      $db = mysql_connect('localhost','','');
      0
    4. si tu remplaces
      $req=mysql_query($sql,$db);
      par
      $req=mysql_query($sql);
      ca marche pas ?
      j'imagine que tu fais ta connexion avant la requête ?
      0
    5. $db = mysql_connect('localhost','','');
      ou
      $db = mysql_connect('localhost','root',''); ?
      0
  2. Ta requete sql pose probleme.
    Si tu les a retranscris, est tu sur que ta base de donnée correspond ? (que les champs et la tables sont les memes ?)
    1
    1. Oui, je me suis servi du dump SQL pour recréer la base avec le même nom de table et les mêmes noms de champs
      0
    2. Bonsoir à tous,

      S'il vous plait, j'ai le même problème que gennievre. Pourriez-vous m'aider? Je ne parviens pas à retrouver mon erreur. Voici mon code:

      #!/usr/local/php5/bin/php

      <?php
      // Connexion à la base
      mysql_connect("localhost","root","qwerty");
      mysql_select_db("ubdb_03");
      $fp=fopen("resultat.xls","w");
      // Nom des colonne du fichier
      $entet ="report\t rb_calls\t nb_min\n"."\n";
      fputs($fp,$entet."\n");

      // la tu effectue ta requete et tu affecte au colonne la variable que tu veut
      //$fras="select ReportDate, Azur_NumAppels, Azur_to_Min from SORTANT where ReportDate between '2013/09/01' and '2013/09/03'";
      $sql="select ReportDate, Azur_NumAppels, Azur_to_Min from SORTANT where ReportDate between '2013/09/01' and '2013/09/03'";
      $req=mysql_query($sql);
      while ($row = mysql_fetch_row($req))
      {
      // $var ="$row[0]\t$row[1]\t$row[2]\n";
      //fputs($fp,$var."\n");
      fputs($fp,"$row[0]\t$row[1]\t$row[2]\n");
      }

      fclose($fp);
      mysql_close();

      ?>
      Je cherche à récupérer le résultat de ma requête dans le fichier Excel. Sauf que lorsque j'exécute le script, j'ai cette erreur :

      PHP Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in /opt/redknee/home/rkadm/request_reports/Stat_Global/test.php on line 16

      Merci d'avance de votre aide.
      0