Holaaa gente...
Les comento que estoy programando en PHP, y se me presenta el poblema de tener que ver cuantos resultados devolvió una consulta MySQL..
Y veo que dicen que existe:
mysql_num_rows
y
mysql_numrows
Y en las descriciones de php-es, dice en la de "num_rows":
Por razones de compatibilidad puede usarse también mysql_numrows(). Sin embargo esta fucnión
Y... no explica el "Sin Embargo"..
Que diferencia hay???
cual conviene?
Y otra pregunta..
Este codigo esta bien para mostrar los datos que devuelve una tabla:
<?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_close($con);
?>
O hay mejor metodo?
Y que me dicen de ésto:
mysql_fetch_array: La función mysql_fetch_array() no es significativemente mas lenta que mysql_fetch_row(), sin embargo tiene un valor añadido importante.
Cual uso?
en http://cl2.php.net/manual/en/function.msql-numrows.php (http://cl2.php.net/manual/en/function.msql-numrows.php) sale que el lo mismo
si dicen que es lo mismo, tal vez es porque es lo mismo xD
Toda la vida use mysql_num_rows y mysql_fetch_array y nunca me dieron problemas :)
Yo te recomendaria usar mysql_num_rows puesto que es la oficial y nativa del lenguaje.
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:
<?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 :xD
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.