{MySQL} mysql_num_rows(): supplied argument...

Résolu
Linukcs Messages postés 83 Statut Membre -  
 Utilisateur anonyme -
Bonjour,

Afin de livrer une commande, l'utilisateur doit entrer son nom, prénom et adresse. Ceux-ci doivent êtres traités dans la base de données MySQL.
Seulement pour éviter les doublons, je dois tester si le client est déjà existant.

Mais y'a une erreur :
mysql_num_rows(): supplied argument is not a valid MySQL result resource in **mask** on line 22
NOTE : j'ai mis un test d'erreur derrière la requête MySQL à la fin de ma requête... aucune erreur ne ressort :(

J'ai du mal à repérer d'où vient le problème, donc je sollicite votre aide.
Voici le code en question:
[code]
Traitement de votre commande....

<?php

$nom = $POST['nom'];
$prenom = $POST['prenom'];
$adress = $POST['adress'];

$db=mysql_connect("10.187.122.4",**mask**,**mask**);
mysql_select_db("levisse_b", $db);

$clientsqltest = "SELECT * FROM levisse_b.`DBClient` D
WHERE D.`nom` = '".$nom. "'
AND D.`prenom` = '".$prenom."'
AND D.`adresse` = '".$adress."'
ORDER BY `idclient` ASC ";
$clientsqltestrq = mysql_query($clientsqltest) or die(mysql_error()) ;
$clientsqladd = "INSERT INTO client ('','".$nom."','".$prenom."','".$adress."')";

echo mysql_error() ;
if (mysql_num_rows($clientsqltest)<1) // Voilà le lieu présumé de l'erreur
{
mysql_query($clientsqladd);
// quote next not for debug mode
echo 'Nouveau client';
}
// quote next not for debug mode
else echo 'Client déjà existant';
mysql_free_result($clientsqltestrq);
mysql_close($db);
?>
/code

Merci d'avance de vos réponses!
Configuration: Windows XP
Firefox 3.5.3

4 réponses

  1. le père
     
    Bonjour

    Normal que ça ne marche pas. Tu fais le test sur la requête ($clientsqltest) au lieu du résultat ($clientsqltestrq)
    3
    1. Caïnael Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   11
       
      Merci beaucoup le père, j'ai pu débuggué mon script grâce a toi !
      0
  2. Linukcs Messages postés 83 Statut Membre 14
     
    RE!

    En effet, en testant le résultat, le message d'erreur disparaît.
    Je comprends donc pas pourquoi on m'a dit de tester la requête :D je me souviendrai d'utiliser le résultat.

    Merci papa ;)
    0
  3. Utilisateur anonyme
     
    Salut jai la meme erreur avec ce code
    aidez moi svp!!
    merci
    if($username&&$password)
    	{
    	mysql_select_db('mecraft_login');
    	$query = mysql_query("SELECT * FROM checkbox WHERE username='$username' AND password='$password'");
    	
    	$rows = mysql_num_rows($query);  // L'ERREUR !!
    	mysql_close();
    	if($rows==1)
    	{
    	   if($_POST['checkbox'])
    	     {
    		 setcookie('username',$username,time()+3600);
    		 header('Location:membre.php');
    		 }else {$_SESSION['username']=$username;
    		 header('Location:membre.php');
    		 }
    0