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?

War es hilfreich?

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
scroll top