Domanda

Questo potrebbe sembrare ridicolmente semplice, ma mi è stato ottenere tutti i tipi di errore a seconda di come gestire una query che restituisce nulla.

$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

Come faccio a verificare se il mio mysql_query () ha restituito nulla?

È stato utile?

Soluzione

È possibile controllare il numero di righe restituite utilizzando mysql_num_rows ( ).

Presumendo il ciclo è quello di interrogare qualcosa fino a quando non ottiene un risultato, sarebbe

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

(non so se quello che stai facendo qui è davvero una buona idea, in quanto è probabile che mettere un terribile fardello sul server di database, ma questo è un problema diverso)

mysql_query () tornerà false solo su " reale" gli errori, ad esempio, una query errata o connessione persa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top