正确使用php PDOStatment :: rowCount()

时间:2013-12-08 14:46:45

标签: php mysql pdo

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

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

1 个答案:

答案 0 :(得分:0)

事实证明问题是,正如@YourCommonSense所说,SQL的使用不正确。如果查询中的值已经在DB中,则不会触发UPDATE,因此如果我尝试这样做,我会得到0个受影响的行。对于性能和效率来说似乎是合乎逻辑的,但我没想到。