1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Utilizzare count() invece di mysql_num_rows()
Questa guida spiega perché è consigliabile abbandonare l'uso della funzione mysql_num_rows()
in MySQL, che restituisce semplicemente il numero di righe in un risultato.
Lo svantaggio di questa funzione è che è molto pesante per il server in quanto è un ciclo che scorre ogni riga per contarle.
Ad esempio:
$SQLstr = "SELECT * FROM commenti WHERE visualizza=1";
$r = mysql_query($SQLstr);
$num = mysql_num_rows($r);
MySQL dispone di una funzione count()
che gestisce questo ed è molto meno pesante. Utilizza questo:
$SQLstr = "SELECT count(*) FROM commenti WHERE visualizza=1"
$r = mysql_query($SQLstr);
$result = mysql_fetch_row($r);
$num = $result[0];
oppure
$SQLstr = "SELECT count(*) as totale FROM commenti WHERE visualizza=1"
$r = mysql_query($SQLstr);
$result = mysql_fetch_array($r);
$num = $result['totale'];