"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo recuperar eficientemente el recuento de filas de una tabla MySQL usando PHP?

¿Cómo recuperar eficientemente el recuento de filas de una tabla MySQL usando PHP?

Publicado el 2024-12-21
Navegar:609

How to Efficiently Retrieve the Row Count of a MySQL Table Using PHP?

Cómo recuperar el recuento de filas en una tabla MySQL usando PHP de forma procesal

Busca determinar el número total de filas en una tabla MySQL y almacenarla en una variable, $count. Su intento inicial arrojó en su lugar la palabra "Matriz".

La solución implica utilizar mysqli_fetch_assoc($result) para recuperar el valor de recuento. Aquí hay tres formas de hacerlo:

  1. Usando el alias de columna:
$sql = "SELECT COUNT(*) AS cnt FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_assoc($result)['cnt'];
  1. Usando una matriz numérica:
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_row($result)[0];
  1. PHP 8.1 y superior:
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_column($result);

Además, se recomienda aprender programación orientada a objetos (OOP) para obtener un código más limpio y legible. La versión OOP de su código:

$sql = "SELECT COUNT(*) FROM news";
$count = $con->query($sql)->fetch_row()[0];

Para consultas con variables, se pueden emplear declaraciones preparadas:

$sql = "SELECT COUNT(*) FROM news WHERE category=?";
$stmt = $con->prepare($sql);
$stmt->bind_param('s', $category);
$stmt->execute();
$count = $stmt->get_result()->fetch_row()[0];
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3