第一种情况是我的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