分析 mysql_fetch_assoc()方法参数类型错误的警告信息 的出现原因
出现报错:Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in D:xampphtdocswork
相关代码:
$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是否存在。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。