Problème fonction mysql_num_rows

Nickefmt Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19254 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je suis en train de mettre ne place un système de News sur un site et j'ai l'erreur suivante :
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\hawx\index.php on line 14
Voici mon code source :
$liendb = mysql_connect("localhost", "root", "");
	mysql_select_db("hawx");
		
	$sql = "SELECT * FROM news ORDER BY id DESC";
	$resultat = mysql_query ($sql);
	$n = mysql_num_rows($resultat);
	for($i = 1; $i <= $n; $i ++)
	{
		$news = mysql_fetch_array($resultat);
		echo"<div id=\"titre_news\">".$news['titre']."</div>";
		echo"<a>".$news['contenu']."</a>";
	}
	mysql_close($liendb);


Merci d'avance de vos réponses
A voir également:

5 réponses

avion-f16 Messages postés 19254 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut.

Ça veut dire que $resultat n'est pas une ressource MySQL, donc que la requête SQL a mal été exécutée.

Tu utilises un lien pour stocker ta connexion MySQL ($liendb), mais tu ne l'indiques pas dans mysql_select_db() et mysql_query(). L'utilisation des liens est inutile quand tu n'as qu'une seule connexion à un serveur SQL.
0
Nickefmt Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Donc si j'ai bien compris je n'utilise pas de lien ?
0
avion-f16 Messages postés 19254 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Avec un seul mysql_connect() non.
0
Nickefmt Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai suprimé le lien, mais ça m'affiche la même erreur, revoila mon code source :
mysql_connect("localhost", "root", "");
		mysql_select_db("hawx");
		
		$sql = "SELECT * FROM news ORDER BY id DESC";
		$resultat = mysql_query ($sql);
		$n = mysql_num_rows($resultat);
		for($i = 1; $i <= $n; $i ++)
		{
			$news = mysql_fetch_array($resultat);
			echo"<div id=\"titre_news\">".$news['titre']."</div>";
			echo"<a>".$news['contenu']."</a>";
		}
		mysql_close();
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19254 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Soit ta requête SQL est mauvaise (nom de table ou colonne 'id' inexistant par exemple), la base de données "hawx" n'existe aps ou tu as mis de mauvaises infos dans mysql_connect()

Par contre, tu peux utiliser une boucle while() pour afficher les résultats. Lorsqu'il n'y en aura plus, la fonction mysql_fetch_*() retournera false, donc la boucle s'arrêtera.

while($news = mysql_fetch_array($resultat)) {
	echo '<div id="titre_news">'.$news['titre'].'</div>';
	echo '<a>'.$news['contenu'].'</a>';
}
0