PDO语句不在实时主机上工作

时间:2014-11-05 05:50:20

标签: php pdo

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();

1 个答案:

答案 0 :(得分:1)

<强> PDOStatement对象:: rowCount时

  

PDOStatement :: rowCount()返回受DELETE,INSERT或UPDATE语句影响的行数。

这对SELECT不起作用,具有讽刺意味但却是真实的:)

解决方法:

  

对于大多数数据库,PDOStatement :: rowCount()不返回受SELECT语句影响的行数。相反,使用PDO :: query()发出带有与预期SELECT语句相同的谓词的SELECT COUNT(*)语句,然后使用PDOStatement :: fetchColumn()来检索将返回的行数。然后,您的应用程序可以执行正确的操作

甚至不应该在localhost上工作。你在localhost上错误地解释了结果。

<强> Manual