我一直收到此错误,无法弄清原因:“ PHP致命错误:对成员函数query()的调用为null”
我的所有mysqli调用都可以正常工作,除了在函数内。
我的connection.php文件具有:
$connection = new mysqli("localhost", "user", "pass", "db");
我已经尝试将$ connection设置为全局,认为这是一个范围问题,但这仍然是问题。
include('connection.php');
function text($x) {
$query = "SELECT * FROM content WHERE page='". $x ."'";
$result = $connection->query($query)->fetch_assoc();
return $result['column'];
}
test('home');
在函数外部查询可以正常工作。
答案 0 :(得分:1)
您应该将变量$ connection声明为global,以便在函数中使用它:
include('connection.php');
function text($x) {
global $connection;
$query = "SELECT * FROM content WHERE page='". $x ."'";
$result = $connection->query($query)->fetch_assoc();
return $result['column'];
}
test('home');
答案 1 :(得分:0)
最好将$connection
变量作为参数传递。
include('connection.php');
function text($x, $connection) {
$query = "SELECT * FROM content WHERE page='". $x ."'";
$result = $connection->query($query)->fetch_assoc();
return $result['column'];
}
test('home',$connection);