从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不需要的额外参数,或者我错过了什么?