[php/mysql] Warning: mysql_num_rows() !

j ai fais une requete et voila le magnifique warning bien connu:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

bon je sais pourquoi mon code m affiche ca , c est que pour la requete ou je compte le resultat…c qu il n y a pas de resultat!!

et ca clairement il aime pas.

comment eviter qu il m affiche ce warning qd le resultat d une requete de trouve aucun resultat?

merci!

On sent que tu ne sais pas lire l’anglais. Là, il te sort juste que l’argument que tu passes à la fonction n’est pas une ressource mySQL valide.

Pour le reste, sans code, on ne pourra pas t’aider.

c est pas le pb d anglais…

je fais une recherhche en fonction de nom de client:


Nom:<input name="nom" type="text" maxlength="200">

puis j arrive dans une fonction


.
.
.
    $sql_recherche  = "SELECT * FROM client WHERE Nom LIKE '%$nom%' order by Nom";   
     $req_recherche = mysql_query($sql_recherche) or die(mysql_error());   
       
     // Recuperation des Resultats de la Requete en Mise en forme dans le tableau:   
        while($data = mysql_fetch_array($req_recherche))   
        {
		$clients=$data['Nom'];
		$sql="SELECT type_contrat FROM avoir_contrat WHERE Nom='$clients' and Facture!='0' or Nom='$clients' and type_contrat='Garantie-privilege'";
		$req= mysql_query($sql);
        $res= mysql_num_rows($req);
.
.
.

et bien sur le $res= mysql_num_rows($req); posant pb apparait.

Bon je dois dire que le warning apparait que dans des cas bien particulier…que après tests complémentaires je ne sais pas pourquoi…

Avec certains clients (en recherchant le nom exact du client) le warning apparait systèmatiquement… pour d autres clients aucuns problèmes.

fait un echo mysql_error();
Et tu verra ton problème

rahhhh c est le ’ dans le nom du client qui pose problème!!!

pourtant j ai fais un addslashes a l origine sur $nom

essaye ça :

$clients=mysql_real_escape_string($data[‘Nom’]);

super ca marche nickel!!

merci une fois encore sans-Nom!