Foros del Web » Programando para Internet » PHP »

realizar consulta

Estas en el tema de realizar consulta en el foro de PHP en Foros del Web. Hola Probablemente la consulta sea un poco tonta, tengo conocimientos básicos de php. El caso es que necesito hacer una consulta para que me devuleva ...
  #1 (permalink)  
Antiguo 08/12/2005, 14:15
 
Fecha de Ingreso: enero-2003
Mensajes: 23
Antigüedad: 14 años, 10 meses
Puntos: 0
realizar consulta

Hola

Probablemente la consulta sea un poco tonta, tengo conocimientos básicos de php.

El caso es que necesito hacer una consulta para que me devuleva el número de registros que hay en una tabla y desconozco como se puede hacer esto.

Gracias
  #2 (permalink)  
Antiguo 08/12/2005, 14:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Deberías especificar que Base de datos usas ..

En principio .. si usas Mysql tienes (como en toda BD) dos formas de hacerlo:

1) vía SQL .. la más óptima si sólo buscas ese total de registros de tu consulta SQL dada.

SELECT COUNT(*) FROM tabla WHERE condiciones si las necesitas ...

2) Vía funciones de PHP. Útil si ademá de querer obtener ese total .. también vas a trabajar con el resultado que se obtenga ("record-set").

mysql_num_rows()
www.php.net/mysql_num_rows()

Un saludo,
  #3 (permalink)  
Antiguo 08/12/2005, 16:00
 
Fecha de Ingreso: enero-2003
Mensajes: 23
Antigüedad: 14 años, 10 meses
Puntos: 0
Disculpa la base de datos es mysql..

He hecho lo siguiente:

<?php
$link = mysql_connect("localhost", "usuario", "pass");
mysql_select_db("db", $link);
$result = mysql_query("SELECT COUNT (*) FROM tabla", $link);
echo mysql_result($result);
?>

Pero me temo que esto no funciona

Gracias por la ayuda
  #4 (permalink)  
Antiguo 08/12/2005, 16:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa mysql_result() así:

Código PHP:
echo mysql_result($result,0); 
ó

Código PHP:
echo mysql_result($result,0,0); 
(aunque la anterior forma la he usado siempre sin problemas)

http://wwwphp.net/mysql_result

O crea un alias para la función COUNT()

Código PHP:
$result mysql_query("SELECT COUNT(*) AS total FROM tabla"$link) or die (mysql_error());
echo 
mysql_result($result,0,"total"); 
También es recomendable que uses "mysql_error()" por si arrastras algún problema de SQL o de conexión que no ves ahora mismo su mensaje de error.

Un saludo,

Última edición por Cluster; 09/12/2005 a las 08:52
  #5 (permalink)  
Antiguo 09/12/2005, 05:31
 
Fecha de Ingreso: julio-2005
Mensajes: 40
Antigüedad: 12 años, 4 meses
Puntos: 0
Disculpa que he cambiado de usuario con el que respondo a los post pero estoy en el ordenador de un compañero..

He probado las 3 formas que me comentas y en todas ellas recibo el mismo error:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(*) FROM tabla' at line 1

Pongo todo completo por si me hubiera equivocado al meter algún dato:

<?php
$link = mysql_connect("localhost", "usuario", "pass");
mysql_select_db("db", $link);
$result = mysql_query("SELECT COUNT (*) FROM tabla", $link) or die (mysql_error());
echo mysql_result($result,0,0);
?>

¿A que puede ser debido?
  #6 (permalink)  
Antiguo 09/12/2005, 05:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok .. se me pasó .. COUNT() es una función de SQL .. así que no vá espacio por médio .. sino intenta interpretar Mysql como un "comando" SQL a "(*)" lo cual no es correcto.

COUNT(*)

Un saludo,
  #7 (permalink)  
Antiguo 09/12/2005, 07:19
 
Fecha de Ingreso: julio-2005
Mensajes: 40
Antigüedad: 12 años, 4 meses
Puntos: 0
Ok, ahora si que si.

Muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:31.