Quale sarà il risultato $ essere quando MySQL restituisce nulla?
-
26-09-2019 - |
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?
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