Pear DB 新手入门指南教程第1/3页

2015-01-24信息快讯网

通过 Pear DB可以从查询结果获得更多有用的数据信息 。这些方法有: numRows(): 通过一个"SELECT" 查询返回所有数据的数量。

1. 简介这是一部指导我们如何使用Pear DB扩展。Pear DB,提供这样一系列的类:
n 数据库抽象
n 高级错误处理机制
n 以及其它

2. 下载、安装Pear
由于现在Pear项目仍处于紧锣密鼓的开发之中,所以得到它的最好办法就是从CVS获得(Pear DB发行包已经跟随PHP4.0.6以后版本捆绑发布)。所以,我们只需要把Pear的根目录放到php.ini配置文件include_path中。也可以通过这样设置:_set('include_path', '/pear_base_dir').

以下是strp by step示例:

存放Pear的目录:
# cd /usr/local/lib
用“phpfi“口令登录:
# cvs -d :pserver:[email protected]:/repository login
用以下命令得到所有的pear文件,同时也可以用来更新已经下载的文件。其他的参数有:"today", "last month",等。我推荐用"last week"参数,因为一般bugs的提交和修改都是每周一次。 
# cvs -d :pserver:[email protected]:/repository export -D "last week" php4/pear
编辑php.ini文件加上下面一段在include_path处: /usr/local/lib/php4/pear 如果没有修改的权限,可以通过这条语句在代码中实现: ini_set('include_path', 'path_to_pear');

获得PHP CVS的完全文档

注意Pear DB必需PHP版本4.0.4以上,而在Pear中的一些其他包如:XML Parser of the pear installer script需要PHP4.0.5以上版本。

 

3.        使用Pear DB

3.1         连接,断开数据库

 
<?php
// The pear base directory must be in your include_path
require_once 'DB.php';
$user 'foo';
$pass 'bar';
$host 'localhost';
$db_name 'clients_db';

// Data Source Name: This is the universal connection string
$dsn "mysql://$user:$pass@$host/$db_name";

// DB::connect will return a Pear DB object on success
// or a Pear DB Error object on error
// You can also set to TRUE the second param
// if you want a persistent connection:
// $db = DB::connect($dsn, true);
$db DB::connect($dsn);

// With DB::isError you can differentiate between an error or
// a valid connection.
if (DB::isError($db)) {
        die ($db->getMessage());
}
....
// You can disconnect from the database with:
$db->disconnect();
?>
 

数据源(上例中的$dsn 参数)有以下允许的格式:(从Pear/DB.phpparseDSN方法复制而来)

 
     *  phptype: Database backend used in PHP (mysql, odbc etc.)
     *  dbsyntax: Database used with regards to SQL syntax etc.
     *  protocol: Communication protocol to use (tcp, unix etc.)
     *  hostspec: Host specification (hostname[:port])
     *  database: Database to use on the DBMS server
     *  username: User name for login
     *  password: Password for login
     *
     * The format of the supplied DSN is in its fullest form:
     *
     *  phptype(dbsyntax)://username:password@protocol+hostspec/database
     *
     * Most variations are allowed:
     *
     *  phptype://username:password@protocol+hostspec:110//usr/db_file.db
     *  phptype://username:password@hostspec/database_name
     *  phptype://username:password@hostspec
     *  phptype://username@hostspec
     *  phptype://hostspec/database
     *  phptype://hostspec
     *  phptype(dbsyntax)
     *  phptype

现在支持的数据库有 ( phptype DSN 部分):

 
mysql  -> MySQL
pgsql  -> PostgreSQL
ibase  -> InterBase
msql   -> Mini SQL
mssql  -> Microsoft SQL Server
oci8   -> Oracle 7/8/8i
odbc   -> ODBC (Open Database Connectivity)
sybase -> SyBase
ifx    -> Informix
fbsql  -> FrontBase

注意并不是所有数据库特征都支持,可以从根目录>/DB/STATUS 得到详细的清单。

3.2         执行数据库

 
<?php
// Once you have a valid DB object
...
$sql "select * from clients";
// If the query is a "SELECT", $db->query will return
// a DB Result object on success.
// Else it simply will return a DB_OK
// On failure it will return a DB Error object.
$result $db->query($sql);
// Always check that $result is not an error
if (DB::isError($result)) {
        die ($result->getMessage());
}
....
?>
 

 

3.3         获得select的数据

PHP下escape解码函数的实现方法
PHP Array交叉表实现代码
PHP合并数组+与array_merge的区别分析
PHP Stream_*系列函数
PHP中的array数组类型分析说明
PHP array 的加法操作代码
PHP IN_ARRAY 函数使用注意事项
用PHP为SHOPEX增加日志功能代码
php操作excel文件 基于phpexcel
PHP 数组遍历方法大全(foreach,list,each)
《Head First 设计模式》代码之PHP版(面向对象学习)第1/2页
php 提速工具eAccelerator 配置参数详解
php imagecreatetruecolor 创建高清和透明图片代码小结
asp.net Repeater控件的说明及详细介绍及使用方法
DedeCMS 核心类TypeLink.class.php摘要笔记
php adodb连接mssql解决乱码问题
php adodb分页实现代码
php daodb插入、更新与删除数据
php adodb连接不同数据库
php adodb操作mysql数据库
php 删除无限级目录与文件代码共享
PHP strtr() 函数使用说明
方便实用的PHP生成静态页面类(非smarty)第1/2页
php初学者写及时补给skype用户充话费的小程序
php合并数组array_merge函数运算符加号与的区别
PHP syntax error, unexpected $end 错误的一种原因及解决
smarty的保留变量问题
Cannot modify header information错误解决方法
使用eAccelerator加密PHP程序
PHP Header用于页面跳转要注意的几个问题总结
smarty section简介与用法分析
FleaPHP的安全设置方法
fleaphp下不确定的多条件查询的巧妙解决方法
Zend Guard一些常见问题解答
php htmlentities和htmlspecialchars 的区别
php adodb连接带密码access数据库实例,测试成功
mysql 中InnoDB和MyISAM的区别分析小结
加强版phplib的DB类
关于Intype一些小问题的解决办法
常用的php ADODB使用方法集锦
PHP中ADODB类详解
escape unescape的php下的实现方法
©2014-2024 dbsqp.com