科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件使用PHPLIB访问多个数据库

使用PHPLIB访问多个数据库

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

PHPLIB是PHP的一些扩展库,使用它我们可以很方便地对数据库进行各种操作,不过,如果你要使用多个数据库的话......

作者:QQ新人类 来源:yesky 2007年10月27日

关键字: Linux

  • 评论
  • 分享微博
  • 分享邮件
要改变代码的话,有几种不同的方法。我们要选择一种对PHPLIB的影响最小,而且可让我们在需要分析问题的时候,能够显示数据库连接状态的方法。我们需要在PHPLIB外保存连接id和数据库的名字。只要在common.php加入:

<?php

$db_connection = 0; // 数据库连接的id
$db_database = ""; // 当前数据库的状态

?>

  下一步,我们要对PHPLIB作修改,以便在这些变量中存储连接id和数据库的名字。在其它的代码中,你可以设置和使用同样的变量名。在分析问题时,如果你需要知道现在使用哪个数据库,只要在页面中插入以下的代码:

<?php

Print("

db_database: " . $db_database . "

");

?>

我们怎样才能让connect()使用这些新变量呢?我们可以在顶部加入一行:

<?php

{
globals $db_connect, $db_database;
/* Handle defaults */

?>

通过这些代码,新变量就可被connect()访问到

在定义了$db_database后,加入:
<?php

function db_connect($db_connect_host="", $db_connect_user="",$db_connect_pass="") {
globals $db_connect;
if(!empty($db_connect_host)) {
$db_connect = mysql_pconnect($db_connect_host,
$db_connect_user, $db_connect_pass);
}
return($db_connect);
}

function db_database($db_database_new="") {
globals $db_database;
if(!empty($db_database_new)) {
$db_database = @mysql_select_db($db_database_new, db_connect());
}
return($db_database);
}

?>

  只要定义这些公共的函数一次,你就可以在不同的地方使用这些公共的变量,而不需要加入global申明。以下就是使用上面db函数的公共函数:

<?php

function connect($Database = "", $Host = "", $User = "", $Password = "") {
/* 处理默认连接 */
if ("" == $Database) {
$Database = $this->Database;
}
if ("" == $Host) {
$Host = $this->Host;
}
if ("" == $User) {
$User = $this->User;
}
if ("" == $Password) {
$Password = $this->Password;
}
/* 建立连接,选择数据库 */
if ( 0 == db_connect()) {
$this->Link_ID = db_connect($Host, $User, $Password);
if (!$this->Link_ID) {
$this->halt("pconnect($Host, $User, \$Password) failed.");
return 0;
}
}
if (0 != db_connect()) {
if($Database != db_database()) {
$this->Database = db_database($Database))
if(empty($this->Database)) {
$this->halt("cannot use database " . $this->Database);
return 0;
}
}
}
return $this->Link_ID;
}

?>
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章