用共享代码选择不同本地主机数据库的方法

时间:2013-11-25 15:24:06

标签: php mysqli

我正在使用这个简单的函数连接到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);
         }

或者有更好的程序方法吗?

2 个答案:

答案 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] = ...

并根据您呼叫的页面,使用数据库或其他。此参数可以在函数中定义,也可以在会话中传递,如您所愿......