建立与数据库服务器的动态连接

时间:2016-04-20 07:49:43

标签: php mysql database

我已经从一位朋友那里收到了一个现成的虚拟航班预订系统来使用它,它基于1个用户名和密码下的2个数据库。

我的主机的问题是为每个数据库生成唯一的主机,用户名和密码。这个系统的好处是所有连接脚本都在一个文件中,我修改了大部分部分,但我坚持主要部分; function change_db。

首先是mysqlexec代码:

change_db($sqlconn,$navdatabase);
--some functions--
change_db($sqlconn,$rfedatabase);
--some functions--

系统将需要始终连接到两个数据库,具体取决于功能。最初连接是 $ rfedatabase ,然后需要交换到 $ rfedatabase ,然后可以返回到第一个,依此类推。要进行数据库交换,系统使用函数change_db。例如:

if($db == $rfedatabase){
    $sqlconn=mysql_connect("$host_rfe:$port",$login_db_rfe,$pass_db_rfe);
    exit;
} else {
    $sqlconn=mysql_connect("$host_nav:$port",$login_db_nav,$pass_db_nav);
    exit;
}

因此 global $ sqlconn; 出现问题。连接始终是 $ rfedatabase 主机,不会切换到另一个。

我已使用此代码更改 global $ sqlconn; ,但无效:

NavBar.js

知道如何使连接与所需的数据库相关吗?

1 个答案:

答案 0 :(得分:0)

好吧我发现了这个问题,我只是忘了对我的全局变量做SQL指针。

global $rfedatabase, $navdatabase, $host_rfe, $host_nav, $port, $login_db_rfe, $pass_db_rfe, $login_db_nav, $pass_db_nav;

if($db == $rfedatabase){
    $sqlconn=mysql_connect("$host_rfe:$port",$login_db_rfe,$pass_db_rfe);
} else {
    $sqlconn=mysql_connect("$host_nav:$port",$login_db_nav,$pass_db_nav);
}