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 el abandono de 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 pesado para el servidor ya que es 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 ocupa de esto y que es mucho menos pesado. Utilice 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: