Yo te recomendaria usar mysql_num_rows puesto que es la oficial y nativa del lenguaje.
La verdad que no se me ocurre otra forma de hacerlo
Un, consejo, como veras le agregue una linea (resaltada). Siempre tenes que liberar la memoria usada para el resultado de una consulta, o de lo contrario sobrecargaras el servidor MySQL. La '@' antepuesta a una funcion sirve para que NO mostrar ningun warning. Por ejemplo, si la hubiese un error al hacer la consula SQL y no se devuelve nada, esa linea daria un warnimg al querer liberar memoria que esta libre, y con ese @ se evita.
Cita de: Skeletron en 30 Noviembre 2009, 03:30 AM
Y otra pregunta..
Este codigo esta bien para mostrar los datos que devuelve una tabla:Código (php,18) [Seleccionar]<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");
while($row = mysql_fetch_array($result))
{
echo $row['columna1'] . " " . $row['columna2'];
echo "<br />";
}
@mysql_free_result($result);
mysql_close($con);
?>
O hay mejor metodo?
La verdad que no se me ocurre otra forma de hacerlo

Un, consejo, como veras le agregue una linea (resaltada). Siempre tenes que liberar la memoria usada para el resultado de una consulta, o de lo contrario sobrecargaras el servidor MySQL. La '@' antepuesta a una funcion sirve para que NO mostrar ningun warning. Por ejemplo, si la hubiese un error al hacer la consula SQL y no se devuelve nada, esa linea daria un warnimg al querer liberar memoria que esta libre, y con ese @ se evita.