Php 与数据库服务器建立动态连接
我从一个朋友那里收到了一个现成的虚拟航班预订系统来使用它,它基于两个数据库,一个用户名和密码 我的主机的问题是为每个数据库生成唯一的主机、用户名和密码。这个系统的优点是所有的连接脚本都在一个文件中,我修改了大部分部分,但我坚持了主要部分;功能改变 以下是mysqlexec代码: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
<?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有什么问题