Pb en php avec mysql_num_rows

remi -  
 Alain42 -
Bonjour,

j'ai un petit pb avec la fonction mysql_mun_rows.
En effet je l'utilise pour savoir si une requète a aboutie à une unique réponse
dans cette requète, je demande si une ligne répond à une paire de variable.
Le pb c'est que si la paire de variable existe dans la base cela me répond qu'il ya 1 entrée, mais si il n'y a pas d'entrée correspondante il ne me répond pas 0 , il ne me répond rien du tout !

Du coup je peux vérifier qu'il y a bien une unique réponse à ma requète mais dans le cas contraire je ne sais pas comment rediriger le visiteur .

Mon code:

$sql='SELECT id FROM postss WHERE id='.$id.' AND time='.$time ;
                  $req=mysql_query($sql);

if (!$req) { die('Requête invalide : ' . mysql_error());}

                  $res=mysql_num_rows($req)or die(mysql_error());
                     echo $res.'<br>';
                  
if($res=='1')
{

//le second script

 }
else {echo "erreur <a href=\"pade d'accueil\">retour</a>"; }


Alors si qqun sait comment faire pour qu'en cas de 0 ligne dans la base de donnée il me réponde tout simplement 0 ;-) , cela m'aiderais bien merci
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. Alain42
     
    Salut,

    j'ai trouvé ça:

    mysql_num_rows ( resource result )

    Récupère le nombre de lignes d'un jeu de résultat.

    result
    La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query .

    Le nombre de lignes dans un jeu de résultats en cas de succès, ou
    FALSE si une erreur survient
    .

    donc si tu n'as pas 0 mais False c'est qu'il y a une erreur qq part.

    à la place de:
    $sql='SELECT id FROM postss WHERE id='.$id.' AND time='.$time ;
    $req=mysql_query($sql);

    if (!$req) { die('Requête invalide : ' . mysql_error());}

    $res=mysql_num_rows($req)or die(mysql_error());
    echo $res.'<br>';


    Essayes plutot:

    $sql="SELECT id FROM postss WHERE id='".$id."' AND time='".$time."'";
                      $req=mysql_query($sql)or die('Requête invalide : ' . mysql_error());
    
                      $res=mysql_num_rows($req);
                         echo "nombre trouve: ".$res."<br>";
    0