Эта страница руководства почти завершена руби sh. Это сбивает с толку две абсолютно разные задачи, которые никогда нельзя было бы поменять местами.
Следовательно, запрос SQL count () просто не имеет отношения к PDO :: rowCount () для запросов на выборку и никогда не должен использоваться для этой цели.
Вместо этого лишнего и бесполезного запроса вы должны использовать сам результат :
На случай, если вы выбрав только одну строку, затем извлеките эту строку и используйте извлеченный массив везде, где предполагалось использовать количество строк:
$stmt = $pdo->prepare("SELECT * FROM users WHERE id=?");
$stmt->execute([$id]);
$user = $stmt->fetch();
if ($user) {
...
}
, если вы выбираете несколько строк - извлекайте их как ну и используйте извлеченные данные:
$stmt = $pdo->prepare("SELECT * FROM users LIMIT :limit, :offset");
$stmt->execute(['limit' => $limit, 'offset' => $offset]);
$data = $stmt->fetchAll();
if ($data) {
...
}
Я не могу представить себе случай, когда вам нужно будет получить фактическое количество возвращаемых строк, но в таком случае просто используйте PHP Счет ():
$count = count($data);