Warning: mysql_num_rows() expects parameter 1 to be resource, bo

dproduction Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   -  
dproduction Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je travaille sur la programmation php d'un site web
je suis confronté à un problème sur mon code de la page fonction.php.

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\exemple de moteur de recheche 0\includes\functions.php on line 25

Voici mon code PHP du fichier functions.php

Si quelqu'un pouvait m'orienter vers la solution au problème, j'en serais ravis!
  <?php  
  
    include("connect.php");
	
function results($search)
{

   $where = "";
	  $search = preg_split('/[\s,\-]/',$search);
	  
	  $count_keywords = count($search);
   
   //print_r($count_keywords);  
  
    foreach($search as $key=>$searches)
	{
	    $where .= "pageecomater_nom LIKE  '%$searches%'"; 
	    if($key != ($count_keywords-1))
	   {
	      $where .=" AND "; 
	   }
	 
	} 
   $query = mysql_query("SELECT * FROM pageecomater_nom WHERE  $where");
	$rows = mysql_num_rows($query);
	
	if($rows)
	{
	     while($article = mysql_fecth_assoc($query))
		 {
		 echo "<strong>".$article['article']."</strong><br/><u>description:</u><br/>".$article['pageecomater_contenance']."<br/>prix:".$article['pageecomater_vue'];
		 }
	}
	else
	{ echo " pas de resutat trouve..";
	
	} 	
	
	
}

 
  ?>
A voir également:

2 réponses

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
La cause la plus courante est une erreur dans la requête SQL associée, vérifiez cela.

Petit rappel, l'extension mysql est obsolète

J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
0
dproduction Messages postés 39 Date d'inscription   Statut Membre Dernière intervention  
 
merci bien NHenry. que puis je faire maintenant?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Comme te l'a indiqué Nheny, mysql est Obsolète. Il ta faut passer à PDO ou mysqli.

Au passage ... pour générer ton WHERE, tu peux procéder comme ceci :
 $search = preg_split('/[\s,\-]/',$search);  
   
  $arrWhere = array();   
  foreach($search as $key=>$searches) {
    $arrWhere[] = "pageecomater_nom LIKE  '%$searches%'"; ; 
  }
 
 $where = !empty($arrWhere) ? " WHERE ". join(' AND ',$arrWhere) : "";  
  
 $sql = "SELECT * FROM pageecomater_nom $where"

 //A remplacer par du PDO ou mysqli quand tu auras changé ton code...  
  $query = mysql_query($sql) or die(' ERREUR dans la requête ' . mysql_error() );
  $rows = mysql_num_rows($query);




Cordialement, 
Jordane                                                                 
0
dproduction Messages postés 39 Date d'inscription   Statut Membre Dernière intervention  
 
merci jordane45. je me met boulot tout de suite et je vous reviens
0
dproduction Messages postés 39 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai travaillé avec le code jordane45. et j'ai un petit probleme. je suis noviste en php. je n'arrive pas a bien manipuler le PDO ou mysqli. de ce fait, je n'arrive pas faire les consigne de jordane45

//A remplacer par du PDO ou mysqli quand tu auras changé ton code...  
  $query = mysql_query($sql) or die(' ERREUR dans la requête ' . mysql_error() );
  $rows = mysql_num_rows($query);


aide svp
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Qu'as tu essayé ?
Montre ton code
0
dproduction Messages postés 39 Date d'inscription   Statut Membre Dernière intervention  
 
voici mon code
  <?php  
  
    include("connect.php");
	
function results($search)
{

   $where = "";
	  $arrWhere = array();   
  foreach($search as $key=>$searches) {
    $arrWhere[] = "pageecomater_nom LIKE  '%$searches%'"; ; 
  }
 
 $where = !empty($arrWhere) ? " WHERE ". join(' AND ',$arrWhere) : "";  
  
 $sql = "SELECT * FROM pageecomater_nom $where"

 //A remplacer par du PDO ou mysqli quand tu auras changé ton code...  
  $query = mysql_query($sql) or die(' ERREUR dans la requête ' . mysql_error() );
  $rows = mysql_num_rows($query);


	
	if($rows)
	{
	     while($article = mysql_fecth_assoc($query))
		 {
		 echo "<strong>".$article['article']."</strong><br/><u>description:</u><br/>".$article['pageecomater_contenance']."<br/>prix:".$article['pageecomater_vue'];
		 }
	}
	else
	{ echo " pas de resutat trouve..";
	
	} 	
	
	
}

 
  ?>




j'ai aussi mon fichier de connexion connect.php
code
<?php 


mysql_connect('localhost','root','');
mysql_select_db("edb_recheche");
mysql_query('SET NAMES utf8');




 ?>
 
 
 
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Où est la transformation en mysqli ou pdo ?
0