警告: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);
}
请帮帮我
答案 0 :(得分:1)
看起来mysql_query()已返回 false 。
这可能是由于您的mysql语法错误或由于缺少访问您请求的数据库表的权限。
在任何一种情况下,你都可以尝试调用mysql_error(),这将返回一个字符串,其中最好的猜测是你上一个mysql函数出了什么问题。
编辑:正如一些评论中所提到的,不鼓励使用mysql_ *函数,所以如果你有机会,你应该更新你的代码以使用mysqli或PDO MySQL扩展。更好的是,使用Zend DB之类的东西将你从数据库API移开一层。
答案 1 :(得分:0)
尝试回显您的查询并在某些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;
}
答案 2 :(得分:0)
试试这个
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())
声明。
这将停止代码并显示返回为false的sql错误。
希望这有帮助。