如何在函数中调用mysqli查询

时间:2019-01-29 23:58:14

标签: php mysqli

我一直收到此错误,无法弄清原因:“ 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');

在函数外部查询可以正常工作。

2 个答案:

答案 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);
相关问题