PDO fetchColumn()忽略SQL“LIMIT”?

时间:2012-07-26 13:51:42

标签: mysql pdo limit

为什么PDO的fetchColumn()忽略了我的查询中的SQL LIMIT部分?

当数据库中有2条记录时,$ result返回“2”?

谢谢!

$sql = "SELECT count(*) FROM table WHERE Username = ? and 
Password = ? LIMIT 1";

$q = $this->connection->prepare($sql);
$q->execute(array($user, $pwd));

$result = $q->fetchColumn();
echo $result;

1 个答案:

答案 0 :(得分:1)

因为对于在数据库中找到的记录数,计数可能是2,但是该聚合函数只需要一行来返回结果。这里的限制实际上是没用的。

换句话说,在服务器上没有LIMIT的情况下运行该查询,您将看到一行值为2的结果集(如果表中有两个这样的用户/密码组合)。