在多个函数(OO)上使用MySQLi连接

时间:2014-07-29 01:23:16

标签: php mysql mysqli

从mysql切换到mysqli,我习惯先创建一个连接,然后在几个函数中使用它,并在脚本的末尾关闭它(我不是专家:)。

然而,我注意到,现在,使用mysqli已经不可能了。我有:

$db = new mysqli('localhost', 'username', 'password', 'database');

if($db->connect_errno > 0){
   die('Unable to connect to database [' . $db->connect_error . ']');
}

$db->set_charset("utf8");

然后,需要使用该连接的几个函数,如

function x(){
    $db->query(....);
}

我这样做时出错,因为$ db不是函数内的对象。

我做了一些研究并添加了

global $db; 

在调用每个函数内部的查询之前解决了这个问题。但考虑到我有数百个函数,我是否需要在每个函数的开头添加它?是不是还有另一种方法可以将该连接设置为公开提供给所有功能?

我发现mysqli比mysql更复杂,也许我只是习惯了,但即使使用程序,你需要传递mysql不需要的额外参数,或者我错过了什么?

0 个答案:

没有答案