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

Fermé
dproduction Messages postés 39 Date d'inscription lundi 2 juillet 2012 Statut Membre Dernière intervention 30 mars 2023 - Modifié le 14 janv. 2018 à 17:01
dproduction Messages postés 39 Date d'inscription lundi 2 juillet 2012 Statut Membre Dernière intervention 30 mars 2023 - 18 janv. 2018 à 20:27
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 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
Modifié le 14 janv. 2018 à 17:07
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 lundi 2 juillet 2012 Statut Membre Dernière intervention 30 mars 2023
14 janv. 2018 à 17:14
merci bien NHenry. que puis je faire maintenant?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 14 janv. 2018 à 17:46
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 lundi 2 juillet 2012 Statut Membre Dernière intervention 30 mars 2023
14 janv. 2018 à 17:44
merci jordane45. je me met boulot tout de suite et je vous reviens
0
dproduction Messages postés 39 Date d'inscription lundi 2 juillet 2012 Statut Membre Dernière intervention 30 mars 2023
14 janv. 2018 à 18:36
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
14 janv. 2018 à 18:46
Qu'as tu essayé ?
Montre ton code
0
dproduction Messages postés 39 Date d'inscription lundi 2 juillet 2012 Statut Membre Dernière intervention 30 mars 2023
14 janv. 2018 à 18:50
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
14 janv. 2018 à 20:12
Où est la transformation en mysqli ou pdo ?
0