当前位置: 首页 > 图文教程 > 网络编程 > PHP > 牛刀小小试 PHP5中PDO的简单使用

PHP
php 多线程上下文中安全写文件实现代码
PHP类的使用 实例代码讲解
用php实现让页面只能被百度gogole蜘蛛访问的方法
php 学习笔记
PHP编程过程中需要了解的this,self,parent的区别
php 操作excel文件的方法小结
使用PHP获取网络文件的实现代码
PHP 巧用数组降低程序的时间复杂度
php下将XML转换为数组
php 文件上传代码(限制jpg文件)
php 无极分类(递归)实现代码
PHP 采集获取指定网址的内容
PHP 将图片按创建时间进行分类存储的实现代码
PHP 存储文本换行实现方法
PHP 批量更新网页内容实现代码
用PHP查询搜索引擎排名位置的代码
用php实现的获取网页中的图片并保存到本地的代码
php实现首页链接查询 友情链接检查的代码
处理php自动反斜杠的函数代码
php实现的遍历文件夹下所有文件,编辑删除

牛刀小小试 PHP5中PDO的简单使用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 39 ::
收藏到网摘: n/a

   PDO(PHP Data Object) 是PHP 5新出来的东西,在PHP 6都要出来的时候,PHP 6只默认使用PDO来处理数据库,将把所有的数据库扩展移到了PECL,那么默认就是没有了我们喜爱的php_mysql.dll之类的了,那怎么办捏,我们只有与时俱进了,我就小试了一把PDO。(本文只是入门级的,高手可以略过,呵呵)

  【PDO是啥】

  PDO是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等扩展来连接MySQL、PostgreSQL、MS SQL Server、SQLite,同样的,我们必须借助 ADOdb、PEAR::DB、PHPlib::DB之类的数据库抽象类来帮助我们,无比烦琐和低效,毕竟,php代码的效率怎么能够我们直接用C/C++写的扩展斜率高捏?所以嘛,PDO的出现是必然的,大家要平静学习的心态去接受使用,也许你会发现能够减少你不少功夫哦。

  【安装PDO】

  我是在Windows XP SP2 上面,所以嘛,整个过程都是在Windows行进行的啦,至于Linux/FreeBSD 等平台,请自行查找资料设置安装。
我的是PHP 5.1.4,已经自带有了php_pdo.dll的扩展,不过需要稍微设置一下才能使用。

  打开 c:\windows\php.ini ,那是我的PHP配置文件,找到下面这行:

  extension_dir

  这个就是我们扩展存在的目录,我的PHP 5扩展是在:C:\php5\ext,那么我就把这行改成:

  extension_dir = "C:/php5/ext"

  然后再往php.ini下面找到:

  ;;;;;;;;;;;;;;;;;;;;;;
  ; Dynamic Extensions ;
  ;;;;;;;;;;;;;;;;;;;;;;

  下面有一堆类似 ;extension=php_mbstring.dll 的东西,这里就是PHP扩展加载的配置了,我们再最后面添加上我们PDO的扩展:

extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pdo_mssql.dll
extension=php_pdo_odbc.dll
extension=php_pdo_firebird.dll
;extension=php_pdo_oci8.dll

  各种PDO的驱动,能给加上的全给加上,不过后面的php_pdo_oci8.dll,因为我没有安装Oralce数据库,所以没有这个,就使用分号注释掉它。然后重启我们的Web服务器, IIS/Apache,我的是IIS,嘿嘿,表鄙视我,在Windows上,简单嘛。

  重启后,在我们Web服务器的文档目录下写一个phpinfo.php的文件,加上这些:

<?
 phpinfo();
?>

  然后打开我们可爱的浏览器:IE/FireFox,我的是FireFox 2.0,刚下载的,很爽,不怕流氓软件,哈哈。

  在浏览器里面输入:http://localhost/phpinfo.php,如果你的这个页面路径不一致,请自行输入。

  输出的内容中,如果你能够顺利的看到:

PDO
PDO support enabled
PDO drivers mysql, pgsql, sqlite, mssql, odbc, firebird 

  后面有各种驱动的说明:PDO_Firebird,pdo_mssql,pdo_mysql,PDO_ODBC,pdo_pgsql,pdo_sqlite

  那么,恭喜你安装成功了,否则请仔细检查上面的步骤。

  【牛刀小小试】

  我用的是MySQL 4.0.26,但是我个人推荐大家使用 MySQL 4.1.x 或者 MySQL 5.0.x,因为那些版本有很多有趣的东西值得去学习。我们这里PDO需要连接的就是我的MySQL 4.0啦,如果你没有安装MySQL,请自行安装。我们建立好了MySQL,并且在test库里添加了表foo,包括 id,name,gender,time等四个字段。

  我们开始构造第一个PDO应用,建立一个pdo.php文件在Web文档目录下:

<?php
 $dsn = "mysql:host=localhost;dbname=test";
 $db = new PDO($dsn, 'root', '');
 $count = $db->exec("INSERT INTO foo SET name = 'heiyeluren',gender='男',time=NOW()");
 echo $count;
 $db = null;
?>

  不明白啥意思,俺们来慢慢讲讲。这行:

$dsn = "mysql:host=localhost;dbname=test";

  就是构造我们的DSN(数据源),看看里面的信息包括:数据库类型是mysql,主机地址是localhost,数据库名称是test,就这么几个信息。不同数据库的数据源构造方式是不一样的。

$db = new PDO($dsn, 'root', '');

  初始化一个PDO对象,构造函数的参数第一个就是我们的数据源,第二个是连接数据库服务器的用户,第三个参数是密码。我们不能保证连接成功,后面我们会讲到异常情况,这里我们姑且认为它是连接成功的。

$count = $db->exec("INSERT INTO foo SET name = 'heiyeluren',gender='男',time=NOW()");
echo $count;

  调用我们连接成功的PDO对象来执行一个查询,这