Php 从函数返回MySQLi对象
我在global.php文件中声明了以下函数: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; } } 我已
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 ;