Question

Cela peut sembler ridiculement simple, mais je reçois toutes sortes d'erreurs en fonction de la façon dont je gère une requête qui ne retourne rien.

$query = "SELECT * FROM messages WHERE id > ".$messageId;
$result =mysql_query($query);
$time = time();
while(time()-$time<60 && $result==false)
{
    $result = mysql_query($query);
}
if(result != false)
     //Encode response
else
     //return nothing

Comment puis-je vérifier si mon mysql_query () retourne quoi que ce soit?

Était-ce utile?

La solution

Vous pouvez vérifier le nombre de lignes retournées en utilisant mysql_num_rows ( ).

présumant votre boucle est d'interroger quelque chose jusqu'à ce qu'il obtienne un résultat, il serait

while(time()-$time<60 && $num_rows == 0)
{
    $result = mysql_query($query);
    $num_rows = mysql_num_rows($result); 

(ne sais pas si ce que vous faites ici est une très bonne idée, car il est susceptible de mettre un terrible fardeau sur le serveur de base de données, mais qui est un autre problème)

mysql_query () retournera false uniquement sur " réel » erreurs, par exemple une requête mal orthographié ou une perte de connexion.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top