PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 19-07-2010 15:24:37

allhambra
Membre
Lieu : Pau (64)
Inscription : 10-09-2009
Messages : 75
Site Web

erreur sql Warning: mysql_num_rows()

bonjour à tous smile !

J'ai un petit formulaire

 <form id="form1" name="form1" method="post" action="gene-liste.php">
           <label>
             <input name="mot" type="text" id="mot" />
           </label>
           <input name="Submit" type="submit" id="Submit" value="Générer" />
             </form>

qui doit récupérer le champ "mot" pour faire une recherche sql et générer une liste xml des résultats.
J'ai donc

$mot = isset($_POST['mot']) ? $_POST['mot'] : '';
if (($mot == "")||($mot == "%")) {
// Si aucun mot clé n'a été saisi,le script demande à l'utilisateur de bien vouloir préciser un mot clé
?>
<table align="center" width="98%" border="0"><tr><td>

<?php echo "
  Veuillez entrer un mot clé s'il vous plaît!
  <p>";

?>
</td></tr></table>
<?php
}else {                    
// la requete mysql
$query = "SELECT * FROM video WHERE `title` LIKE %$mot%" . " OR `description` LIKE %$mot% LIMIT 0, 30";
   
$result = mysql_query($query);
$num = mysql_num_rows($result);
  // si on a récupéré un résultat on l'affiche.
if($num) {
 
// connaître le nbre de champs
  $nombre=mysql_num_fields($result);

   /* indiquer $dest_file qui correspond au répertoire de destination */
  $dest_file="/video/";
  $dest_page="/video.php";
  $ext1="flv";
  $ext2="jpg";
/* enlève un "\"  */
  $source_file=stripslashes($nom);
  $link = ("$URL_site$dest_page?$source_file");
  $mediacontent = ("$URL_site$dest_file$source_file.$ext1");
  $mediathumbnail = ("$URL_site$dest_file$source_file.$ext2");
 
// s'il y a des résultats  
if ($num != 0) {
      $file= fopen("../xml/$mot.xml", "w");
    $_xml .="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n";
  $_xml .="<rss version=\"2.0\" xmlns:media=\"http://search.yahoo.com/mrss/\">\r\n";
  $_xml .="<channel>\r\n";
  $_xml .="<title>Example media RSS playlist for the JW Player</title>\r\n";
  $_xml .="<link>http://www.jeroenwijering.com</link>\r\n";   while ($row = mysql_fetch_array($result)) {
  //if ($row["item"]) {
  $_xml .="\t<item>\r\n";
  $_xml .="\t<id>" . $row["id"] . "</id>\r\n";
  $_xml .="\t\t<title>" . $row["title"] . "</title>\r\n";
  $_xml .="\t<media:content url=\"" . $mediacontent . "\" />\r\n";
  $_xml .="\t<media:thumbnail url=\"" . $mediathumbnail . "\" />\r\n";
  $_xml .="\t\t<description>" . $row["description"] . "</description>\r\n";
  $_xml .="\t\t<link>".$link."</link>\r\n";
  $_xml .="\t</item>\r\n";
  $_xml .="</channel>\r\n";
  $_xml .="</rss>\r\n";
        }
fwrite($file, $_xml);
fclose($file);
?>
<table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center" bgcolor="#913E8E"><?php echo "Le fichier XML a etait créé <a      href=\"../xml/$mot.xml\">Show source :).</a>";
}
else {
   echo "erreur";
}  }}
?>
</td>
  </tr>
</table>

Qui génère l'erreur suivante : "Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource"


J'ai le tête dedans depuis trois jours ( la honte ! sad) mais je ne vois pas où ça bug.
J'avous qu'un coup de main pour comprendre mon erreur serait bienvenu

Hors ligne

#2 19-07-2010 23:18:18

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : erreur sql Warning: mysql_num_rows()

comme ca
[code : php]
$query = "SELECT * FROM video WHERE `title` LIKE '%$mot%' OR `description` LIKE '%$mot%' LIMIT 0, 30";
[/code]

a++

Hors ligne

#3 20-07-2010 10:43:08

allhambra
Membre
Lieu : Pau (64)
Inscription : 10-09-2009
Messages : 75
Site Web

Re : erreur sql Warning: mysql_num_rows()

Bonjour Pierrot,
merci beaucoup de ta réponse.
Maintenant j'ai toujours "Warning: mysql_num_rows()" mais sur la ligne 27 :

25 .$query = "SELECT * FROM video WHERE `title` LIKE %$mot%" . " OR `description` LIKE %$mot% LIMIT 0, 30";
   
26 .$result = mysql_query($query);
27 .$num_rows = mysql_num_rows($result);
28 .  // si on a récupéré un résultat on l'affiche.
29 .if($num_rows) {

Hors ligne

#4 21-07-2010 09:25:39

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : erreur sql Warning: mysql_num_rows()

il te faut juste mettre %mot% entre simple cote de porc wink

$query = "SELECT * FROM video WHERE `title` LIKE '%$mot%' OR `description` LIKE '%$mot%' LIMIT 0, 30";

a++

Hors ligne

#5 21-07-2010 10:20:21

allhambra
Membre
Lieu : Pau (64)
Inscription : 10-09-2009
Messages : 75
Site Web

Re : erreur sql Warning: mysql_num_rows()

coucou Pierrot, merci de ton aide !
effectivement, rédigé comme ça je n'ai plus d'erreur et ça c'est cool big_smile
ce qui l'est moins, c'est que mon code ne génère pas ma liste sad  et comme je n'ai pas d'erreur, je suis bien en peine de savoir pourquoi.
peut être la syntaxe de  $file= fopen("../xml/$mot.xml", "w");
je vais voir sur le forum php.

merci encore lol

Hors ligne

Pied de page des forums