如果我必须查询db并根据行数做一些事情,在mysql中我只是查询而且我可以简单地查询和使用
if($result->num_rows >= 1){
但是在PDO中 我必须
fetchCloumn()
来计算Rowcount is not helpful,它不适用于选择
所以我要进行两次查询,PDO听起来没有帮助,我的方法是错误的还是我是对的? 感谢
答案 0 :(得分:1)
恕我直言,计算查询返回的所有行(或发出第二个查询)只是为了查明是否有行是一种过度杀伤。
$got_data = false;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$got_data = true;
process_row($row);
}
if (!$got_data) {
no_results();
}
如果你确实需要行数,那么在阅读结果集时获取它是微不足道的:
$num_rows = 0;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$num_rows++;
process_row($row);
}
if ($num_rows==0) {
no_results();
}
因人而异。