Расширение PHP PDO (объекты данных PHP) обеспечивает удобный и безопасный способ взаимодействия с базами данных. Одним из важных аспектов работы с базами данных является получение количества затронутых строк после выполнения запроса. В этой статье мы рассмотрим различные методы получения количества строк с помощью PHP PDO, а также предоставим разговорные объяснения и примеры кода, которые помогут вам овладеть этим важным навыком.
- Метод 1: использование функции rowCount()
Функция rowCount() — это простой и часто используемый метод для получения количества затронутых строк в операторе PDO. Вот пример:
$stmt = $pdo->prepare("UPDATE users SET active = 1 WHERE age > 18");
$stmt->execute();
$rowCount = $stmt->rowCount();
echo "Number of updated rows: " . $rowCount;
- Метод 2: выборка всех строк и подсчет
Другой способ получить количество строк — получить все строки и затем подсчитать их с помощью функции count(). Вот пример:
$stmt = $pdo->prepare("SELECT * FROM users WHERE age > ?");
$stmt->execute([18]);
$rows = $stmt->fetchAll();
$rowCount = count($rows);
echo "Number of fetched rows: " . $rowCount;
- Метод 3. Использование функции fetchColumn()
Функция fetchColumn() позволяет получить один столбец из строки. Извлекая несуществующий столбец с помощью этой функции, вы можете получить количество строк. Вот пример:
$stmt = $pdo->prepare("SELECT COUNT(*) FROM users WHERE age > ?");
$stmt->execute([18]);
$rowCount = $stmt->fetchColumn();
echo "Number of rows: " . $rowCount;
- Метод 4: использование функции SQL FOUND_ROWS()
Если вы работаете с запросами SELECT и вам необходимо получить общее количество строк, включая те, которые ограничены предложением LIMIT, вы можете использовать FOUND_ROWS( ) функция. Вот пример:
$stmt = $pdo->prepare("SELECT SQL_CALC_FOUND_ROWS * FROM users LIMIT 10");
$stmt->execute();
$stmt->fetchAll();
$stmt = $pdo->query("SELECT FOUND_ROWS()");
$rowCount = $stmt->fetchColumn();
echo "Total number of rows: " . $rowCount;
В этой статье мы рассмотрели несколько методов получения количества строк с помощью PHP PDO. Мы научились использовать функцию rowCount(), получать все строки и подсчитывать их, получать несуществующий столбец с помощью fetchColumn() и использовать функцию SQL FOUND_ROWS(). Освоив эти методы, вы получите прочную основу для выполнения различных операций с базой данных на PHP с использованием PDO.
Не забудьте выбрать метод, который соответствует вашему конкретному случаю использования и типу запроса. Приятного кодирования!