Заявления PDO работают на localhost, но не работают на реальном хосте. вот пример, который отлично работает на localhost, но rowCount () всегда возвращает 0 на хост-хост. кто-то, пожалуйста, помогите мне.
$stmt = $pdo->prepare("SELECT * FROM customer WHERE email = :email AND password = :password"); $stmt->execute(array( ':email' => $uemail, ':password' => $pass )); $count = $stmt->rowCount();
PDOStatement :: ROWCOUNT
PDOStatement :: rowCount () возвращает количество строк, на которые влияет инструкция DELETE, INSERT или UPDATE.
Это не работает для SELECT
, иронично, но верно 🙂
Временное решение:
Для большинства баз данных PDOStatement :: rowCount () не возвращает количество строк, на которые влияет инструкция SELECT. Вместо этого используйте PDO :: query () для выдачи оператора SELECT COUNT (*) с теми же предикатами, что и ваш запрошенный оператор SELECT, а затем используйте PDOStatement :: fetchColumn (), чтобы получить количество строк, которое будет возвращено. Затем ваше приложение может выполнить правильное действие.
Не стоит даже работать на локальном хосте. Вы неправильно интерпретируете результат на localhost.
Руководство