Php 从函数返回MySQLi对象

Php 从函数返回MySQLi对象,php,mysqli,Php,Mysqli,我在global.php文件中声明了以下函数: function dbconnect(){ $mysqli = new mysqli($dbserver,$dbuser,$dbpasswd,$dbdatabase); if ($mysqli->connect_error){ echo ($mysqli->connect_error); return null; } else { return $mysqli; } } 我已

我在global.php文件中声明了以下函数:

function dbconnect(){
   $mysqli = new mysqli($dbserver,$dbuser,$dbpasswd,$dbdatabase);
   if ($mysqli->connect_error){
      echo ($mysqli->connect_error);
      return null;
   } else {
      return $mysqli;
   }
}

我已经100%确定$dbdatabase是一个有效的数据库。我调用函数,我得到了一个有效的对象,没有错误;但是,当我尝试执行查询时,对象报告未选择任何数据库。如果我删除代码并直接在需要的地方执行它-没有问题。我错过什么了吗?谢谢

函数范围中未定义值
$dbserver
$dbuser
$dbpasswd
$dbdatabase

应将其作为参数传递,例如:

function dbconnect($dbserver, $dbuser, $dbpasswd, $dbdatabase){
或者,您可以使用糟糕的编码方法,通过以下方式全球化变量:

function dbconnect(){
    global $dbserver, $dbuser, $dbpasswd, $dbdatabase;

我建议使用第一种方法,或者只是在函数中定义变量。

实际上还有另一种方法。你不需要把它们都全球化。相反,你可以在本地制作

函数dbConnect(){


}

天哪!我不敢相信我犯了这样一个新手错误。谢谢马库斯!啊!
$server = "localhost";
$username = "root";
$password = "";
$dbname = "test";

 $con = new mysqli($server,$username,$password,$dbname);
 return $con ;