繁体   English   中英

mysqli_free_result(),返回警告

[英]mysqli_free_result(), Returning A Warning

下面的方法可以完成它的工作,但同时也会继续打印警告,这对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.....

如果可以的话,我希望有人对此有所启发。

您正在以面向对象的方式使用MySQLi 并且不能使用 不正确 的过程函数 ,请参见edit 您可以这样做:

$mysqli_result->free()

...代替。

即使您使用过程方法,您所做的也不正确,因为fetch_row()返回一个数组,而mysqli_free_result()会期望结果资源-您将需要执行以下操作:

mysqli_free_result($mysqli_result);

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

编辑

实际上,在测试之后,实际上您也可以使用第二个选项。 但是,第一种选择最适合您的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM