PHP MariaDB while循环在没有行时运行
运行Lamp堆栈,现在使用MariaDB而不是MySQL。 我运行一个select查询,但是如果没有返回任何内容,我会得到一个无限的错误循环,锁定我的DB服务器并刷新错误日志 下面是代码。 使用MYSQL时没有问题。 因此,现在我检查前面的结果中的行数,然后绕过while循环 我错过了什么?我不想重构我所有的代码PHP MariaDB while循环在没有行时运行,php,mysql,mariadb,Php,Mysql,Mariadb,运行Lamp堆栈,现在使用MariaDB而不是MySQL。 我运行一个select查询,但是如果没有返回任何内容,我会得到一个无限的错误循环,锁定我的DB服务器并刷新错误日志 下面是代码。 使用MYSQL时没有问题。 因此,现在我检查前面的结果中的行数,然后绕过while循环 我错过了什么?我不想重构我所有的代码 $sql="select COUNT(DISTINCT garmtypeid) as stylecount,garmtypeid as styleid, count(o
$sql="select COUNT(DISTINCT garmtypeid) as stylecount,garmtypeid as styleid,
count(objects.id) as itemqty,objectstyles.code,objectstyles.description,
objectstyles.bundleqty,sum(objectstyles.forbiddenitem) as forbiddenitem,
objectstyles.altdescription
from objects
left join objectstyles on objectstyles.id = objects.garmtypeid
where rfid in ($Taglist2)
group by garmtypeid ";
error_log("BUNDLLLE");
error_log($sql);
$result = mysql_query($sql);
while (($rowx =mysql_fetch_assoc($result))!==false)
{....}
表达式
$rowx=mysql\u fetch\u assoc($result)
是一个赋值,严格来说并不等于false
,因此创建了无限循环。但是,它可能是一个松散的比较(!=
而不是!=
)。事实上,由于mysql\u fetch\u assoc()
在成功时返回非空数组,在失败时返回false
,因此您甚至不需要进行比较
有关完整参考,请参阅上的文档。(其他问题)
-->
您是否需要左侧
不要使用mysql.*
界面;切换到mysqli.*
或PDO
COUNT(DISTINCT garmtypeid) as stylecount
...
group by garmtypeid
COUNT(*) as stylecount
...
group by garmtypeid