`
guoxinzz
  • 浏览: 428776 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

我们为什么要使用PDO进行PHP程序开发?

 
阅读更多

PDO扩展为PHP定义了一个访问数据库的轻量的,持久的接口。实现了PDO接口的每一种数据库驱动都能以正则扩展的形式把他们各自的特色表现出来。注意;利用PDO扩展本身并不能实现任何数据库函数。你必须使用一个特定的数据库PDO驱动去访问数据库。
PDO提供了一个数据访问抽象层,这就意味着,不管你使用的是哪种数据库,你都可以用同样的函数去进行查询的获取数据。PDO并不提供数据提取,它不会重写SQL语句,或者模仿这些功能。你需要使用一个成熟的提取层,如果你需要的话。怎么样,是不是看了译文就有一种恍然大悟的感觉了?
没有?
那说的再详细点。
我们为什么要使用PDO?
1、更换数据库时取得极大便利
在PHP4/3时代,PHP要利用php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等扩展来连接MySQL、PostgreSQL、MS SQL Server、SQLite,这其实也没什么。也就是在配置时多添句话就行了。
可怕的是,这些扩展和各自对应的数据库打交道时,他们各自的函数有很多是不一样的。
比如:
PHP利用libmysql.dll和MYSQL打交道时,如果要从数据表中提取数据作为关联数组,用的是mysql_fetch_accoc,而如果要从postgre数据库取得同样的结果,你就不得不用pg_fetch_assoc。
很简单的例子说明了很重要的问题,假如你要更换数据库类型,比如从MYSQL更换成POSTGRE,你就不得把你所有和数据库有关的程序都改一遍。这时候,你应该会明白,为什么我不用PDO??
2、极大提高程序运行效率
针对上面的情况,也许你会说,我可以使用ADODB(LITE),PEAR::db来实现对不同类型数据库函数的封装啊。这样子,即使我更换数据库,也不需要修改程序。
答:php代码的效率怎么能够和直接用C/C++写的扩展效率比较呢?根本不是一个数量级的。
OK,从现在开始用PDO进行你的开发吧。

<?php <br />$hostname = "localhost"; //指定主机名
$database = "db_book"; //指定数据库名称
$usernmae = "root"; //指定用户名
$password = "44444"; //指定密码
$dsn = "mysql:dbname=" . $database . ";host=" . $hostname;
//数据源描述
try {
$conn = new PDO($dsn,$usernmae,$password);
//创建PDO对象 参数 : 数据源,用户名,密码
}
catch (PDOException $e) {
echo "Connecting failed: " . $e->getMessage();
//抛出异常
}
$sql = "select * from tb_books";
//查询字符串
echo "

"; //使用文本格式输出    
$conn->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); //使用小写键名 UPPER就是大写
$rs = $conn->prepare($sql);
//这个函数我理解应该是个用来建立类似持久连接的函数吧
$rs->execute();
//这是一个可以带参数的函数,可使用变量替换查询时语句的特定标识
//如果不带参数则直接执行语句
//可以提高查询效率 具体看参考手册的介绍 PDO Functions 章节
while ($row = $rs->fetch(PDO::FETCH_ASSOC)) {
//FETCH_ASSOC 是限定返回的结果只有 关联字段名 否则会同时返回 字段序号和关联字段名
//浪费资源,使用关联字段名易于操作,同 mysql_fetch_assoc
print_r($row);
};
echo "
";
?>
分享到:
评论

相关推荐

    php使用pdo连接sqlserver示例分享

    在开发PHP程序时我们可以借助多种连接方式访问各类的数据库获取所需的数据。自PHP5以来PDO作为新生事物将所有数据库接口收入囊中,为开发人员提供了方便快捷的数据库读取方式。本文将介绍如何在Linux服务器配置PHP与...

    PHP100视频教程全集112集BT种子【PHP经典】

    PHP100视频教程55:PHP5中使用PDO连接数据库 PHP100视频教程56:制作PHP安装程序的原理和步骤 PHP100视频教程57:PHP备份数据库原理和方法 PHP100视频教程58:快速设计一个企业网站之BIWEB PHP100视频教程59:...

    pdo_dbal:如何使用Doctrine Dbal代替PDO操作数据库的示例

    但仍然,使用纯SQL可能会变得无聊和/或无聊,因为有时命令又大又复杂,从而留出了可能延迟我们开发和维护应用程序的错误的空间。 PDO非常适合操作数据库,但是,对于更复杂的数据库,它可能还不够用,因此,我向您...

    PHP从入门到精通PPT

    《PHP从入门到精通(第3版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的...书中所有知识都结合具体实例进行介绍,涉及的程序代码均附以详细的注释,可以使读者轻松领会PHP程序开发的精髓,快速提高开发技能。

    puyuetianPHP快速开发框架 v3.0.0.zip

    puyuetianPHP快速开发框架是我在学习了php和制作了部分软件后编写,起初是为了方便自己快速制作php网站,现进行整理和封装分享出来,希望大家能提出意见让我们来不断完善这套框架。  puyuetianPHP快速开发框架页面...

    nuodb-php-pdo-zend:用于PHP PDO NuoDB模块的Zend适配器

    NuoDB ZF1数据适配器使用NuoDB PHP PDO驱动程序。 在使用NuoDB Zend Framework v1数据适配器之前,必须先安装和配置NuoDB PHP PDO驱动程序。 对于Zend Framework v2,不需要适配器。 现有的NuoDB PHP P

    学通PHP的24堂课

    《学通PHP的24堂课》以24堂课的形式,从初中级用户的角度出发,突出学、练、用相结合,用科学合理的设计全面讲述了使用php进行程序开发的必备知识和技能,突出学、练、用相结合。主要包括php概述、php基础、php函数...

    细说PHP(第二版)(电子书 文字版 完整版)高洛峰

    细说PHP》开发Web应用程序PHP是最理想的工具,易于使用、功能强大、成本低廉、高安全性、开发速度快且执行灵活。《细说PHP》以实用为目标设计,包含PHP开发最主流的各项技术,对每一个知识点都进行了深入详细的讲解...

    php课程(共100多节)

    55:PHP5中使用PDO连接数据库 56:制作PHP安装程序的原理和步骤 57:PHP备份数据库原理和方法 58:快速设计一个企业网站之BIWEB 59:关于BIWEB常见问题和结构分析 60:PHP与数据库代码开发规范 61:PHP+Mysql新闻...

    PHP中PDO的错误处理

    在使用PDO进行那个PHP和数据库开发过程中,如果程序中碰到错误咋办?我们这里描述PDO类的错误信息和异常处理。

    细说PHP(第2版)

    内容涵盖了动态网站开发的前台技术(HTML+CSS)、PHP编程语言的语法、PHP的常用功能模块和实用技巧、MySQL数据库的设计与应用、PHP面向对象的程序设计思想、数据库抽象层PDO、Smarty模板技术、Web开发的设计模式、...

    细说PHP(第2版) - 高洛峰

    内容涵盖了动态网站开发的前台技术(HTML+CSS)、PHP编程语言的语法、PHP的常用功能模块和实用技巧、MySQL数据库的设计与应用、PHP面向对象的程序设计思想、数据库抽象层PDO、Smarty模板技术、Web开发的设计模式、...

    PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版)part1

    内容涵盖使用pdo访问数据库,字符串,日期和时间,表单、表格和漂亮整洁的url,文件操作、电子邮件、图像、错误处理、防问控制、缓存、xml和web service。  为了辅助本书的学习,作者还建立了一个web站点,提供代码...

    《细说PHP》配套源码

    内容涵盖了PHP的运行环境搭建、Web服务器Apache的配置与应用、动态网站开发的前台技术、PHP编程语言的语法、PHP的常用功能模块和实用技巧、MySQL数据库的设计与应用、PHP 5面向对象的程序设计思想、Web开发的设计...

    10分钟内自己学会PHP

    第2篇为提高篇,主要包括MySQL数据库设计、PHP操作MySQL数据库、Cookie和Session、图形图像处理技术、文件和目录处理技术、面向对象、PDO数据库抽象层、程序调试与错误处理、Ajax技术、Smarty模板技术等内容;...

    《细说PHP》高洛峰

    内容涵盖了动态网站开发的前台技术(HTML+CSS)、PHP编程语言的语法、PHP的常用功能模块和实用技巧、MySQL数据库的设计与应用、PHP面向对象的程序设计思想、数据库抽象层PDO、Smarty模板技术、Web开发的设计模式、...

    细说PHP(第2版) - 高洛峰.mobi

    内容涵盖了动态网站开发的前台技术(HTML+CSS)、PHP编程语言的语法、PHP的常用功能模块和实用技巧、MySQL数据库的设计与应用、PHP面向对象的程序设计思想、数据库抽象层PDO、Smarty模板技术、Web开发的设计模式、...

    思库教育PHP零基础培训+进阶课程+PHP项目开发实战 21G PHP零基础学习视频教程.txt

    │ │ │ ├[思库教育]JS 第二集 写一个程序输出1到100这些数字.avi │ │ │ ├[思库教育]JS 第六 集 数组初步 (1).avi │ │ │ ├[思库教育]JS 第七集 数组初步 (2).avi │ │ │ ├[思库教育]JS 第三集 经过多少...

    03《PHP学习手册》.zip

    本书全面介绍了使用PHP进行Web开发的各种技术。在内容排列上由浅入深,让读者循序渐进地掌握编程技术;在内容讲解上结合丰富的图解和形象的比喻,帮助读者理解“晦涩难懂”的技术;在内容形式上附有大量的提示、技巧...

Global site tag (gtag.js) - Google Analytics