帝国cms报错Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in 作者:30yi.cn 时间:2020-11-01
简单概括
根源在于,排序有问题。order by的字段缺失。
比如,一段文章调用的源码出现这个报错提示:Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in...
源码如下:
<?php
$ecms_bq_sql2=sys_ReturnEcmsLoopBq("select titleurl,title,titlepic,classid from [!db.pre!]ecms_$bqr[tbname] where classid in (select classid from `[!db.pre!]enewsclass` where bclassid ='$bqr[classid]') order by myorder asc limit 10",20,24,0);
$bqno2=0;
while($bqr2=$empire->fetch($ecms_bq_sql2)){
$bqsr2=sys_ReturnEcmsLoopStext($bqr2);
$bqno2++;
?>
报错 Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in...
这是什么原因呢?
网上教程各种各样,但都没法解决问题。
相关调用是长期高频使用的调用方式,为什么这里会有问题呢?
问题,就出在order by myorder asc。
因为调用的是文章,没有myorder这个字段,就会报错,改为newstime或ID后,一切正常。