PHP PEAR DB类在网站建设中的作用体现

原创
2016-06-13 11:10:48 588浏览

在PHP网站开发中,由于其支持各种数据库引擎,如Mysql,Mssql,Pgsql,sqlite等,并对各种数据库系统都提供了不同的函数作为接口,给PHP网站开发者带来很多便利。

但同时也带来了平台移植性的问题,随着底层数据库的改变,PHP代码也必须改变。对于这个问题,有各种解决方法,如使用PHP ADODB类,PHP PEAR DB类或者自行编写PHP DB类,将各种数据库的函数操作聚合在一起等,今天和大家分享如何安装使用PHP PEAR DB类,以实现不同数据库的访问功能。

准备工作

1、在使用PHP PEAR DB类访问数据库之前,需要安装PHP PEAR,然后通过PEAR来下载安装DB类,即pear install db

2、根据需要安装相关数据库,比如Mysql,Mssql,Pgsql,Sqlite等,同时在PHP.INI中找到Dynamic Extensions,引入对应数据的DLL文件,并重启Apache。

注意:由于我使用的是DedeAMPZ,在安装PHP PEAR时一定要安装在DedeAMPZWebRootDefault目录下,否则在引入DB.php时会报Failedopening required ‘DB.php’错误,即找不到DB类(could not find pear db library),因为DedeAMPZ可能对相关的目录做了限制。

PHP PEAR DB类使用示例

  1. ?
  2. require_once("DB.php");
  3. $userName = 'root';
  4. $password = '123456';
  5. $hostName = 'localhost';
  6. $dbName = 'test';
  7. $dsn = "mysql://$userName:
    $password@$hostName/$dbName"
    ;
  8. $dbCon = DB::connect($dsn);
  9. if (DB::isError($dbCon)) {
  10. die ($dbCon->getMessage());
  11. }
  12. $sql = "CREATE TABLE leapsoul (".
  13. "`id` INT( 11 ) UNSIGNED NOT NULL ,".
  14. "`name` VARCHAR( 30 ) CHARACTER
    SET gbk COLLATE gbk_chinese_ci NOT NULL ,".
  15. "`age` INT( 2 ) NOT NULL ,".
  16. "`birthday` VARCHAR( 30 ) CHARACTER
    SET gbk COLLATE gbk_chinese_ci NOT NULL ,".
  17. "`sex` INT( 1 ) NOT NULL ,".
  18. "PRIMARY KEY ( `id` )".
  19. ") ENGINE = MYISAM CHARACTER SET gbk
    COLLATE gbk_chinese_ci";
  20. $result = $dbCon->query($sql);
  21. if (DB::isError($result)) {
  22. die ($result->getMessage());
  23. }
  24. $sql = "insert into leapsoul(id,name,
    age,birthday,sex) values(1,'leapsoul',1,
    '2009-05-13',1),(2,'leapsoul',1,'2009-05
    -13',1),(3,'leapsoul',1,'2009-05-13',1)"
    ;
  25. $result = $dbCon->query($sql);
  26. if (DB::isError($result)) {
  27. die ($result->getMessage());
  28. }
  29. $dbCon->setFetchMode(DB_FETCHMODE_ASSOC);
  30. $sql = "select * from leapsoul";
  31. $result = $dbCon->query($sql);
  32. if (DB::isError($result)) {
  33. die ($result->getMessage());
  34. }
  35. for($i=0;$i$result->numRows();$i++)
  36. {
  37. $info = &$result->fetchRow();
  38. echo "name:".$info['name'];
  39. echo "birthday:".$info['birthday']."br>";
  40. }
  41. $result->free();
  42. $dbCon->disconnect();
  43. }

以上就是PHP PEAR DB类的详细使用方法介绍。


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。