0

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

请帮我

4

3 回答 3

1

看起来mysql_query()已返回false

这可能是由于您的 mysql 语法错误或由于缺少访问您请求的数据库表的权限。

在任何一种情况下,您都可以尝试调用mysql_error(),它将返回一个字符串,该字符串可以最好地猜测您上一个 mysql 函数出了什么问题。

编辑:正如一些评论中提到的,不鼓励使用 mysql_* 函数,所以如果你有机会,你应该更新你的代码以使用 mysqli 或 PDO MySQL 扩展。更好的是,使用Zend DB之类的东西让您远离数据库 API 一层。

于 2012-09-01T08:01:08.047 回答
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;
}
于 2012-09-01T08:46:12.680 回答
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())声明。

这将停止代码并将返回的 sql 错误显示为 false。

希望这可以帮助。

于 2012-09-01T12:58:44.223 回答