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:

💣 Descarga sistemas PHP y Laravel COMPLETOS GRATIS
Recursos premium listos para usar en proyectos reales 💻
👥 +1000 desarrolladores · 🔥 Publicaciones diarias
🔥 Unirme al canal GRATIS ahora 👥 Grupo de Facebook
⏳ Enlaces disponibles por tiempo limitado
💻 Sistemas completos 🔌 Plugins PRO ⚡ Scripts listos 🔥 Recursos exclusivos

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.

Leave a comment

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