警告:mysql_fetch_assoc()要求参数1为资源,给定为布尔值
我的php代码是:
function getResourceLevel($vid) {
$q = "SELECT * from " . TB_PREFIX . "fdata where vref = $vid";
$result = mysql_query($q, $this->connection);
return mysql_fetch_assoc($result);
}
请帮助我
看起来mysql_query()返回了false。
这可能是由于mysql语法中的错误,或者由于缺乏访问您请求的数据库表的权限。
在任何一种情况下,您都可以尝试调用mysql_error(),它将返回一个字符串,其中包含对上一个mysql函数出现问题的最佳猜测。
编辑:正如一些评论中提到的,不鼓励使用mysql_*函数,所以如果你有机会,你应该更新你的代码,使用mysqli或PDO mysql扩展。更好的是,使用类似ZendDB的东西将您从数据库API移动一层。
试着回显您的查询,并在一些mysql查询浏览器中运行,检查它是否给出了所需的结果。
function getResourceLevel($vid) {
$q = "SELECT * from " . TB_PREFIX . "fdata where vref = $vid";
echo $q;
$result = mysql_query($q, $this->connection);
return ($result) ? mysql_fetch_assoc($result) : false;
}
试试这个
function getResourceLevel($vid) {
$q = "SELECT * from " . TB_PREFIX . "fdata where vref = $vid";
$result = mysql_query($q, $this->connection) || die(mysql_error());
return mysql_fetch_assoc($result);
}
请注意|| die(mysql_error())
语句。
这将停止代码并将返回的sql错误显示为false。
希望这能有所帮助。