PHP错误帮助:mysql_fetch_assoc()

时间:2012-09-01 07:48:23

标签: php

警告: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);
    }

请帮帮我

3 个答案:

答案 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错误。

希望这有帮助。