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上对结果的解释不正确。
手动