Recuperar el valor de un COUNT(*) en una variable php

Resuelto
Dobby85 Mensajes publicados 17 Estado Miembro -  
Dobby85 Mensajes publicados 17 Estado Miembro -
Hola a todos,

Entonces, aquí está mi problema, estoy tratando de recuperar el número de filas en mi base de datos con un count(*). He buscado en varios sitios, pero ninguno ha respondido a mi problema...

Sé que hay que aliasar el count:

SELECT COUNT(*) AS total FROM forum

Pero después de eso, no sé cómo recuperar el valor y mostrarlo en el sitio.

Si alguien sabe cómo recuperar el valor de un count(*) en una variable php, le agradezco que me lo haga saber.

Dobby85 :)

8 respuestas

Panoramix. Mensajes publicados 3051 Estado Miembro 1 098
 
Hola,

Puedes proceder así:
 <?php // Generación de la consulta SQL $SELECT_COUNT = "SELECT COUNT(*) AS total FROM forum"; $result = MYSQL_QUERY($SELECT_COUNT) OR DIE(); $count = MYSQL_FETCH_ASSOC($result); // Mostrar el resultado ECHO 'El total es '.$count['total']; ?> 


¡Listo!
0
Usuario anónimo
 
Buenas noches

Un pequeño error de atención...
$result = MYSQL_QUERY($SELECT_COUNT) O MUERE();
0
Panoramix. Mensajes publicados 3051 Estado Miembro 1 098
 
Está corregido, gracias :)
0
Dobby85 Mensajes publicados 17 Estado Miembro
 
He copiado/pegado tu código, prestando atención a poner las variables correctas, pero no se muestra nada, ni siquiera lee el echo... De hecho, entra en el DIE en la línea:

$result = MYSQL_QUERY($SELECT_COUNT) OR DIE();

Así que no lee lo que sigue...

¿Tienes alguna solución?

Dobby85 :)
0
Usuario anónimo
 
En mi opinión, te falta el código para conectarte a la base de datos.
Para verificar:
$result = MYSQL_QUERY($SELECT_COUNT) OR DIE(mysql_error()); 


Si ese es el problema, te aconsejo que sigas tutoriales (por ejemplo, en el sitio del cero) para iniciarte en el uso de mysql con PHP, ya que necesitas una formación completa, no solo un pequeño empujón.
0
Dobby85 Mensajes publicados 17 Estado Miembro
 
Ya he leído todo el libro del sitio de cero sobre PHP y MySQL... Y consigo conectarme a la base de datos, pero solo quiero recuperar un valor numérico en una variable...

Y el:
OR DIE (mysql_error());
No me muestra nada, sé que entra en eso pero no me muestra nada... :(
He visto en otros sitios que había que aliasar el count(*):
SELECT COUNT(*) AS total FROM forum
y que el resultado estaba en total, pero no consigo recuperar ese resultado...

Gracias de antemano

Dobby85:)
0
Usuario anónimo
 
Si el OR DIE (mysql_error()); no te muestra nada y el echo que sigue tampoco, entonces esa parte del código no se está ejecutando.
Sé que entra, pero no me muestra nada..
¿Cómo sabes que entra? Quiero decir: ¿qué haces para asegurarte? Porque mostrar el resultado de una consulta, COUNT() o sin COUNT(), es algo básico.

¿Puedes darnos tu código (sin contraseñas, por supuesto) para que podamos entender?
0
Dobby85 Mensajes publicados 17 Estado Miembro
 
<?php
try
{
$bdd = new PDO('mysql:host=sql.franceserv.fr;dbname=mabase', 'identifiant', 'mot_de_passe');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}

// Génération de la requête SQL
$SELECT_COUNT = $bdd->query("SELECT COUNT(*) AS total FROM forum");
$result = $SELECT_COUNT OR die($bdd->errorInfo()[2]);
$count = $result->fetch(PDO::FETCH_ASSOC);
// Affichage du résultat
echo 'Le total est ' . $count['total'] .'';
?>
0
Usuario anónimo
 
Es posible que hayas leído mal el libro del sitio cero sobre PHP y MySQL.
Tu código mezcla dos maneras de acceder a una base de datos: PDO y las funciones "clásicas". Si has copiado el código de Panoramix sin darte cuenta del problema, es que nunca debiste escribir la menor línea de MySQL por ti mismo. No es una crítica, hay que empezar por algún lado...
Aquí está la versión PDO que te aconsejo usar. Tu conexión es en PDO, así que es conveniente.
<?php // Generación de la consulta SQL $SELECT_COUNT = "SELECT COUNT(*) AS total FROM forum"; $result = $bdd->query($SELECT_COUNT) $count = $result->fetch(PDO::FETCH_ASSOC); // Mostrar el resultado ECHO 'El total es '.$count['total']; ?> 
0
Dobby85 Mensajes publicados 17 Estado Miembro
 
¡Muchas gracias! En efecto, es algo que no he entendido, las diferentes maneras de conectar... Y todavía no lo comprendo, pero bueno, funciona de maravilla y te agradezco enormemente porque hacía tiempo que lo estaba buscando!!! :)

¡Muchas gracias!

Dobby85:)
0