PHPLIB是PHP的一些扩展库,使用它我们可以很方便地对数据库进行各种操作,不过,如果你要使用多个数据库的话......
在连接数据库出错的时候,你可以在外部的函数中输出目前的连接状态。如果SQL语句出错,你也可以将DB_Sql中的query()函数拷贝到common.PHP的db_DB_Sql中,然后插入一个输出语句,看看当前的SQL语句是什么。
你也可以将错误或者诊断的信息写到一个磁盘文件中。通过定义
$db_log_file = "t:/diag.txt";
或者一个类似的文本文件。如果使用Windows,你要确保该目录存在,否则你会得到一个错误的信息。
然后定义一个函数:
<?php
function db_log($db_log_message) {
globals $db_log_file;
$db_log_f = fopen($db_log_file, "a");
fwrite($db_log_f, date("Y m d H:i:s")." ".$db_log_message."\r\n");
fclose($db_log_f);
}
?>
在你需要记录信息的地方,加入以下代码:
<?php
db_log("current database: " . db_database());
?>
其实你可以使用内置的或者系统的日志文件。不过这样你就要在一大堆的文件中查找一小段信息。因此这个独立的记录文件可帮助你进行测试。我建议在记录前后写以下的代码:
<?php
db_log("current database: " . db_database());
db_database("bookcatalogue");
db_log("current database: " . db_database());
?>
在数据访问时,要记得使用正确的数据库,而不是PHPLIB中定义的数据库。你可以为该数据库创建一个封装的函数,或者改变你使用的函数。如果你使用mysql_query(),你可以先用db_database(),你可以用
<?php
$result = mysql_db_query(db_database("bookcatalogue"), "select * from?",
db_connect());
?> which suggests the function: <?php
function db_query($db_query_database, $db_query_sql) {
return(mysql_db_query(db_database($db_query_database), $db_query_sql,
db_connect());
}
?>
来代替
<?php
db_database("bookcatalogue");
$result = mysql_query("select * from?", db_connect());
?>
现在你可以做到
.使用PHPLIB(或者类似的软件)来访问多个数据库
.扩展类/对象
.插入诊断检查
.建立日志文件
通过这篇文章,相信对于如何扩展一个类,你也有了一些概念,自己实践一下吧。
查看本文来源