我目前查询数据库两次来找回我的结果集,我的结果的行数设置之前我运行的行环回这样的:PHP PDO - 检索结果和行数 - 便携式解决方案
$result = $db->query("SELECT COUNT(*) FROM mytable");
$result1 = $db->query("SELECT * FROM mytable");
$count = $result->fetchColumn();
if($count == $value){
while($row = $result1->fetch(PDO::FETCH_ASSOC)){
//execute code
}
} elseif($count == $value2) {
//execute other code
}
我刚刚转换为PDO,所以不知道它。代码用于使用mysql_num_rows
。我正在寻找一种方法,可以在不查询数据库两次的情况下执行此操作,这种我一直使用的解决方案可用于小型目的,但如果数据库已缩放,则显然是不必要的数据库负载。很多谢谢
编辑:我搬到PDO的原因是它的便携性功能,因此rowCount()
并不适合每一个实例。
它总是阅读您使用该工具的文档是个好主意。例如,它向您显示可用方法的列表。在这里它显示你这个:http://php.net/manual/en/pdostatement.rowcount.php – arkascha
['rowCount'](http://php.net/manual/en/pdostatement.rowcount.php)可能你在找什么。 – Script47
@ Script47'rowCount'不在'SELECT'语句上执行。 – Ohgodwhy