正确使用php PDOStation::rowCount()

正确使用php PDOStation::rowCount(),php,mysql,pdo,Php,Mysql,Pdo,如果我在phpmyadmin中测试查询,我得到1个受影响的行,但是当我使用PDO对象时,我得到0个受影响的行。错误在哪里?正如@YourCommonSense所说,问题在于SQL的使用不正确。如果查询中的值已经在数据库中,则不会触发更新,因此如果尝试这样做,则会得到0个受影响的行。对于性能和效率来说似乎是合乎逻辑的,但我没有预料到这一点。这是正确的用法。如果没有匹配的WHERE条件或表已经包含查询中的值,Mysql将返回0。对我来说似乎很好。。。老实说,我从来没有使用过rowCount(),因为

如果我在phpmyadmin中测试查询,我得到1个受影响的行,但是当我使用PDO对象时,我得到0个受影响的行。错误在哪里?

正如@YourCommonSense所说,问题在于SQL的使用不正确。如果查询中的值已经在数据库中,则不会触发更新,因此如果尝试这样做,则会得到0个受影响的行。对于性能和效率来说似乎是合乎逻辑的,但我没有预料到这一点。

这是正确的用法。如果没有匹配的WHERE条件或表已经包含查询中的值,Mysql将返回0。对我来说似乎很好。。。老实说,我从来没有使用过rowCount(),因为它在我的情况下一直有效。@你的常识你是对的。把它作为答案贴出来,这样我就可以接受了。表已具有查询中的值,并且更新未触发任何更改:|
$stmt = $this->db->prepare("UPDATE users SET token=:token WHERE username=:username AND password=:password");
$stmt->execute(array(':token' => $token, ':username' => $username, ':password' => $password));

echo $stmt->rowCount();