您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 服务器端脚本编程 > PHP专辑 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

使用PHPLIB访问多个数据库
2001-03-31· ·QQ新人类··yesky

上一页  1 2 3 4 5 6  



  在连接数据库出错的时候,你可以在外部的函数中输出目前的连接状态。如果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(或者类似的软件)来访问多个数据库
.扩展类/对象
.插入诊断检查
.建立日志文件

  通过这篇文章,相信对于如何扩展一个类,你也有了一些概念,自己实践一下吧。

上一页  1 2 3 4 5 6  

■ 相关内容
 INFORMIX5的安装及初始配置
 多php服务器实现多session并发运行
 使用PHP连接LDAP服务器
 建立动态的WML站点
 数据模型:找到最合适的设计
 提升PHP速度全攻略
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!