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

Php 与数据库服务器建立动态连接,php,mysql,database,Php,Mysql,Database,我从一个朋友那里收到了一个现成的虚拟航班预订系统来使用它,它基于两个数据库,一个用户名和密码 我的主机的问题是为每个数据库生成唯一的主机、用户名和密码。这个系统的优点是所有的连接脚本都在一个文件中,我修改了大部分部分,但我坚持了主要部分;功能改变 以下是mysqlexec代码: <?php $ini = parse_ini_file("data.ini.php"); $host_rfe = $ini["host_rfe"]; $host_nav = $ini["host_nav

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

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

以下是mysqlexec代码:

<?php
$ini = parse_ini_file("data.ini.php");
$host_rfe    = $ini["host_rfe"];
$host_nav    = $ini["host_nav"];
$rfedatabase = $ini["rfedatabase"];
$navdatabase = $ini["navdatabase"];
$login_db_rfe    = $ini["login_db_rfe"];
$pass_db_rfe     = $ini["pass_db_rfe"];
$login_db_nav    = $ini["login_db_nav"];
$pass_db_nav     = $ini["pass_db_nav"];
$port        = $ini["port"];

// Connecting to Database
if(!($sqlconn=@mysql_connect("$host_rfe:$port",$login_db_rfe,$pass_db_rfe))) {
    echo "<p align=\"center\"><big><img src=\"images/redx.png\"><br/><strong>It wasn't possible to connect to MySQL server. Please, check the configurations.</strong></big></p>";
    exit;
}

// Select Database
if(!($con=@mysql_select_db($rfedatabase,$sqlconn))) {
    echo "<p align=\"center\"><big><img src=\"images/redx.png\"><br/><strong>It wasn't possible to connect to database <i>$rfedatabase</i>. Please, check the configurations.</strong></big></p>";
    exit;
}

/*========================================================================
 Function: change_db
    Usage: This function changes the pointer to another MySQL Database
Arguments:
    $sqlconn - Connection pointer
    $db      - Destnation's database
========================================================================*/
function change_db($sqlconn,$db) {

    global $sqlconn;

    if(!($con=mysql_select_db($db,$sqlconn))) {
        echo "<p align=\"center\"><big><img src=\"images/redx.png\"><br/><strong>It wasn't possible to connect to database <i>$db</i>. Please, check the configurations.</strong></big></p>";
        exit;
    }

    return $con;
}
?>
因此,全局$sqlconn;出现了一个问题;。连接将始终连接到$rfedatabase主机,并且不会切换到另一个主机

我已经更改了全局$sqlconn;使用此代码但不起作用:

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;
}

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

好的,我发现了问题,只是忘记了使用指向全局变量的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);
}

好吧,我发现了问题,我只是忘了做指向全局变量的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);
}

旧的
mysql_……()
函数已经过时,很久以前就被标记为不推荐使用。是的。请停止使用<代码> MySqL**()>代码>函数(见)并考虑使用或替代。我知道使用MySQL,只是改变整个脚本将花费很少的时间,我正在工作。我只是想知道我在上面替换全局$sqlconn的错误是什么旧的
mysql_……()
函数已经过时,很久以前就被标记为不推荐使用了。是的。请停止使用<代码> MySqL**()>代码>函数(见)并考虑使用或替代。我知道使用MySQL,只是改变整个脚本将花费很少的时间,我正在工作。我只是想知道我替换上面的全局$sqlconn有什么问题