mysqli_free_result(),返回警告

时间:2012-03-28 13:43:14

标签: php oop mysqli warnings

以下方法可以完成它的工作,但也会继续打印警告,这对于OOP来说是个新手,所以我想知道原因。

我已经做了一些谷歌搜索,似乎喜欢它我和OOP混合程序,这是警告,至少我在别处读过的回复。

代码:

function __construct(){
    global $connection;

    $mysqli_result=$connection->query("select module from modules");
    while($row=$mysqli_result->fetch_row()){
        $this->whitelist[]=$row[0];
    }
    mysqli_free_result($row);
    return;
}

警告:

mysqli_free_result() expects parameter 1 to be mysqli_result, null given in.....

如果可能的话,我希望有人对此有所了解。

1 个答案:

答案 0 :(得分:1)

您正在以面向对象的方式使用MySQLi并且您无法使用其中的过程函数 ,请参阅编辑。你会这样做:

$mysqli_result->free()

...来代替。

即使你使用的是程序方法,你所做的也是不正确的,因为fetch_row()返回一个数组,而mysqli_free_result()会期望结果资源 - 你需要这样做:

mysqli_free_result($mysqli_result);

...但是对于您的代码,第一个示例就是您想要的。

修改

实际上,经过测试,您实际上也可以使用第二个选项。但是,第一个选项最适合您的代码。