Base de conocimientos
1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Usar count() en lugar de mysql_num_rows()
Esta guía explica por qué se recomienda abandonar la función mysql_num_rows()
de MySQL que simplemente devuelve el número de líneas de un resultado.
La desventaja de esta función es que es muy pesada para el servidor, ya que se trata de un bucle que recorre cada línea para contarlas.
Por ejemplo:
$SQLstr = "SELECT * FROM commentaires WHERE affiche=1";
$r = mysql_query($SQLstr);
$num = mysql_num_rows($r);
MySQL tiene una función count()
que se encarga de esto y que es mucho menos pesada. Usa esto:
$SQLstr = "SELECT count(*) FROM commentaires WHERE affiche=1"
$r = mysql_query($SQLstr);
$result = mysql_fetch_row($r);
$num = $result[0];
o
$SQLstr = "SELECT count(*) as total FROM commentaires WHERE affiche=1"
$r = mysql_query($SQLstr);
$result = mysql_fetch_array($r);
$num = $result['total'];
Enlace a esta FAQ: