SELECT查询后在while循环之前检查num_rows的用处是什么?

Goo*_*bot 2 php mysql sql while-loop

在许多脚本中,程序员SELECT在运行相应的while循环之前检查查询是否返回了任何记录

$result=mysql_query("SELECT * From table WHERE column='XX'");
if(mysql_num_rows($result)>0) {
    while($row=mysql_fetch_array($result)){
    ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这项检查是否必要或有用?因为当没有返回任何记录时,while循环不会循环.可以检查返回的行数改善性能吗?

Not*_*fer 5

你通常在没有返回任何行的情况下这样做,而你只想为用户打印出一条好消息.如果你只有一个while循环,你需要保留一个计数器,这可能会变得很难看.

所以它主要是为了

else {
  echo "No results found!";
}
Run Code Online (Sandbox Code Playgroud)

;)

  • @ali.正如你必须知道的那样,许多程序员只在业余级别使用php.如此多的做法很常见,没有充分的理由. (2认同)