Php 检查并循环输出查询中的任何数据
我有一个查询使用,而循环打印数据 如何检查while循环是否未提取任何数据(从数据库中提取0行),以便在屏幕上打印“0结果”Php 检查并循环输出查询中的任何数据,php,Php,我有一个查询使用,而循环打印数据 如何检查while循环是否未提取任何数据(从数据库中提取0行),以便在屏幕上打印“0结果” 我不想对COUNT(*)进行额外的查询,是否可以从while循环中进行检查?只需在循环中添加一个标志,以确保至少输入一次 比如: $query=$db->prepare("SELECT *... while($data=$query->fetch(PDO::FETCH_ASSOC)){...} 添加了分号,谢谢您必须先使用$sth=$query->execu
我不想对COUNT(*)进行额外的查询,是否可以从while循环中进行检查?只需在循环中添加一个标志,以确保至少输入一次 比如:
$query=$db->prepare("SELECT *...
while($data=$query->fetch(PDO::FETCH_ASSOC)){...}
添加了分号,谢谢您必须先使用
$sth=$query->execute()
(和$sth->fetch()
而不是$query->fetch()),然后$sth->rowCount
将给出结果的数量。因此您需要计算得到的结果数量。在这种情况下,您可以在循环中向上计数一个变量:
$flag = false;
$query=$db->prepare("SELECT *...");
while($data=$query->fetch(PDO::FETCH_ASSOC)){
$flag = true;
}
if ($flag) {} //entered
如果要检查是否没有数据,可以检查$data
:
while($data=$query->fetch(PDO::FETCH_ASSOC)){
$i++;
//your code here
}
如果(!$data)
可能会在prepare()
和fetch()
之间做手脚,则必须调用execute()
。。。只是说,“…缺少$flag=false的结尾分号”
while($data=$query->fetch(PDO::FETCH_ASSOC)){
if($data === false) {
echo "0 result";
}
}