Wie wird das $ result, wenn MySQL nichts zurückgibt?
-
26-09-2019 - |
Frage
Dies könnte lächerlich einfach erscheinen, aber ich habe alle Arten von Störung zu erhalten, je nachdem wie ich eine Abfrage, dass die Renditen nichts behandeln.
$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
Wie kann ich überprüfen, ob mein mysql_query () etwas zurück?
Lösung
Sie können prüfen, um die Anzahl der zurückgegebenen Zeilen mit mysql_num_rows ( ).
Ihre Schleife Vorausgesetzt zu Abfrage etwas ist, bis es ein Ergebnis bekommt, wäre es
while(time()-$time<60 && $num_rows == 0)
{
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
(nicht sicher, ob das, was Sie tun, ist hier eine wirklich gute Idee, da es wahrscheinlich eine schreckliche Last auf dem Datenbank-Server setzen, aber das ist ein anderes Thema)
mysql_query () wird false
zurückkehren nur auf " echte“Fehler, zB eine falsch geschriebene Abfrage oder verlorene Verbindung.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow