PHPLIB是PHP的一些扩展库,使用它我们可以很方便地对数据库进行各种操作,不过,如果你要使用多个数据库的话...... 
						
							
要改变代码的话,有几种不同的方法。我们要选择一种对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; 
} 
?>