Portada » Lenguaje PHP » PDO PHP » Obtener el número de filas usando PDO

Obtener el número de filas usando PDO

Obtener el número de filas usando PDO. Cuando necesite contar filas en una consulta SQL y que coincidan con algunos criterios en su base de datos, puede usar las siguientes opciones y ejemplos que daremos en el presente artículo.

Obtener el número de filas usando PDO
Obtener el número de filas usando PDO

Contar el número de filas usando PDO

En su lugar, siempre debes pedirle a tu base de datos que cuente las filas y luego devolver el único número, con una consulta como esta:

SELECT count(1) FROM usuarios
// o
SELECT count(*) FROM usuarios WHERE categoria_id = 1

Hay que tener en cuenta que no importa qué valor constante usar como parámetro de la función count(), ya sea *, 0 ó 1 o cualquier cosa; todo funciona igual siempre que sea una constante en lugar del nombre del campo. En caso de este último, sólo se contabilizarán los valores de este campo que no sean nulos.

Obtener la cantidad total de registros con fetchColumn()

Afortunadamente, PDO tiene una función dedicada para obtener el número total de la consulta, fetchColumn().

Si no se va a utilizar ninguna variable en la consulta, podríamos encadenar claramente esta función directamente a la llamada query():

$cantidad_total = $pdo->query("SELECT count(*) FROM table")->fetchColumn();

Contar registros SQL usando clausula WHERE

Pero si se va a utilizar alguna variable en la consulta, siempre se debe sustituir por un parámetro y ejecutar mediante una declaración preparada:

$stmt = $pdo->prepare("SELECT count(*) FROM usuarios WHERE categoria_id = ?");
$stmt->execute([$categoria_id]);
$count = $stmt->fetchColumn();

Contar registros usando QUERY

Otra alternativa y es usar la siguiente consulta SQL, es más sencilla y va directo al punto.

$nRows = $pdo->query('select count(*) from usuarios')->fetchColumn();

// Imprimimos la cantidad total en el navegador
echo $nRows;

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Privacidad