mysql_num_rows o mysql_numrows???

Iniciado por Skeletron, 30 Noviembre 2009, 03:30 AM

0 Miembros y 1 Visitante están viendo este tema.

Skeletron

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?

Skeletron

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?

isseu


raul338

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  :)

[u]nsigned

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:
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  :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.

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!