【发布时间】:2012-08-23 08:40:58
【问题描述】:
如何轻松获取“SELECT *”SQL 查询返回的行数?
function valid_credentials($db,$name,$pw) {
try {
$sth = $db->prepare("SELECT * FROM ib_members WHERE name=:val AND pw=:val2");
$sth->bindValue(":val",$name);
$sth->bindValue(":val2",$pw);
$sth->execute();
$numrows = $sth->fetchColumn();
return $numrows;
} catch (PDOException $e) {
return $e->getMessage();
}
}
返回14,肯定不是返回的行数,而是第一行的ID。
【问题讨论】:
-
$sth->rowCount(); http://php.net/manual/en/pdostatement.rowcount.php 看例子,这个问题用谷歌搜索几秒钟就可以找到,不知道为什么还要问!
-
嗯。事实证明,
mysql_num_rows()仅适用于 SELECT 语句,因为在内部mysql_query()缓冲了所有返回的行以获取此信息。请参阅this answer 了解更多信息。
标签: php pdo mysql-num-rows