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();
答案 0 :(得分:1)
<强> PDOStatement对象:: rowCount时强>
PDOStatement :: rowCount()返回受DELETE,INSERT或UPDATE语句影响的行数。
这对SELECT
不起作用,具有讽刺意味但却是真实的:)
解决方法:强>
对于大多数数据库,PDOStatement :: rowCount()不返回受SELECT语句影响的行数。相反,使用PDO :: query()发出带有与预期SELECT语句相同的谓词的SELECT COUNT(*)语句,然后使用PDOStatement :: fetchColumn()来检索将返回的行数。然后,您的应用程序可以执行正确的操作
甚至不应该在localhost上工作。你在localhost上错误地解释了结果。
<强> Manual 强>