2 votes

PHP mysql_query ne renvoie pas false

Je viens d'apprendre le PHP et j'ai quelques difficultés à comprendre mysql_query. Si je comprends bien, mysql_query est censé renvoyer FALSE si l'enregistrement n'est pas trouvé. Cependant, il semble qu'il renvoie toujours true car "FOUND !" est toujours le résultat :

$q = "SELECT * FROM users WHERE username = 'doesnotexist'";

$r = mysql_query($q);

if (!$q) {
    echo "<p>NOT FOUND!</p>";
} else {
    echo "<p>FOUND!</p>";
}

mysql_close();

Merci d'avance pour tout éclairage que vous pourrez apporter.

0voto

popcornman Points 1

Si ça ne marche pas, essayez ceci :

<?php
$q = "SELECT * FROM users WHERE username = 'doesnotexist'";
$r = mysql_query($q);
if (!mysql_num_rows($r) >= 1) {
        echo "<p>NOT FOUND!</p>";
} else {
        echo "<p>FOUND!</p>";
}
mysql_close();
?>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X