函数不工作——错误:在null上调用成员函数query()



第一种情况是我的mysqli连接

$mysqli = new mysqli(...);
第二个例子是my query
$mysqli->query(...);

I get error

在null上调用成员函数query()

示例:

function first()
{
    $i = 1;
}
function second()
{
    global $i;
    return $i;
}
echo second();

空白屏幕。

如果像这样的代码

$i = 1;
function second()
{
    first();
    global $i;
    return $i;
}
echo second();

就可以了,但是我需要第一个

在你的"function first()"中,$i被声明为一个局部变量。它不能从first()函数外部引用。因此,当您调用"全局$i"时,您将获得一个"null"值,因为没有名为$i的全局变量。

在第二个示例中,您在函数外部声明了$i变量——这使它成为一个全局变量。所以,当你调用global $i时。您正在引用您设置为1的$i变量。因此,返回的值是"1"而不是"null"。

关于局部变量和全局变量的更多信息,请参考PHP文档。它包含了一个和你的完全一样的例子。http://php.net/manual/en/language.variables.scope.php

相关内容

  • 没有找到相关文章

最新更新