0

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

$result 在数据库中找到 2 条记录时返回“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;
4

1 回答 1

1

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

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

于 2012-07-26T13:55:47.267 回答