分析 mysql_fetch_assoc()方法参数类型错误的警告信息 的出现原因

来源:互联网 发布:淘宝用网银怎么支付 编辑:程序博客网 时间:2024/05/22 01:43

出现报错:Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\work


相关代码:

$hospital_id = $row2['hospital_id'];$sql3 = "SELECT name FROM hospital WHERE id=$hospital_id";$query3 = mysql_query($sql3);$row3 = mysql_fetch_assoc($query3);

分析:

如果$hospital_id能取出数值时,$sql3没有错误,能正常查询;
但如果$row2不可靠,则$hospital_id=NULL,$sql3成为了"SELECT name FROM hospital WHERE id="出现了语法错误,$query3=false而非resource类型,mysql_fetch_assoc()函数执行时会报参数类型不对的错误;

类比:

可以对比的是,如果$hospital_id正常,SQL语句合法,但是搜索到的行数为0,此时$query3依然为resource类型变量,尽管其内容可能为空

解决:

先判断$hospital是否存在。


0 0