我正在使用这个简单的函数连接到named_database
。但是代码及其相关项目在多个站点上使用。我已经厌倦了不断编辑DB_PASS设置等。
function select_named_db()
{
$link = mysqli_connect( DB_HOST, DB_USER, DB_PASS);
$result=mysqli_select_db( $link, DB_NAME ) ;
return $link;
}
如何更改我的功能,以便它可以尝试2或3个不同的数据库设置,以便脚本可以找出要使用的主机,用户和密码?
会像这样简单吗?
if (!mysqli_connect( DB_HOST, DB_USER, DB_PASS))
{
$link = mysqli_connect( DB_HOST, DB_USER, DB_PASS);
} elseif (!mysqli_connect( DB_HOST2, DB_USER2, DB_PASS2))
{
$link=mysqli_connect( DB_HOST2, DB_USER2, DB_PASS2);
}
或者有更好的程序方法吗?
答案 0 :(得分:0)
的settings.php:
if (ENV == 'dev') {
define('DB_HOST', 'localhost');
// and so on
} elseif(ENV == 'production') {
define('DB_HOST', '127.0.0.1');
// and so on
}
然后在bootstrap文件或webserver config
中的某处定义ENV答案 1 :(得分:0)
将参数传递给select_named_db()?
是不是更好您可以拥有一组数据库连接:
$ DB_HOST [0] = ...
$ DB_USER [0] = ...
并根据您呼叫的页面,使用数据库或其他。此参数可以在函数中定义,也可以在会话中传递,如您所愿......