«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как эффективно получить количество строк таблицы MySQL с помощью PHP?

Как эффективно получить количество строк таблицы MySQL с помощью PHP?

Опубликовано 21 декабря 2024 г.
Просматривать:637

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

Как получить количество строк в таблице MySQL процедурно с помощью PHP

Вы хотите определить общее количество строк в таблице MySQL и сохранить это в переменной $count. Вместо этого ваша первоначальная попытка привела к слову «Массив».

Решение включает использование mysqli_fetch_assoc($result) для получения значения счетчика. Вот три способа сделать это:

  1. Использование псевдонима столбца:
$sql = "SELECT COUNT(*) AS cnt FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_assoc($result)['cnt'];
  1. Использование числового массива:
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_row($result)[0];
  1. PHP 8.1 и выше:
$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_column($result);

Кроме того, рекомендуется изучить ООП (объектно-ориентированное программирование), чтобы получить более чистый и читаемый код. ООП-версия вашего кода:

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

Для запросов с переменными можно использовать подготовленные операторы:

$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];
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3