PDO方式访问数据库.ppt_第1页
PDO方式访问数据库.ppt_第2页
PDO方式访问数据库.ppt_第3页
PDO方式访问数据库.ppt_第4页
PDO方式访问数据库.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章 PDO方式访问数据库,10 . 1 PDO的基本概念,10 . 2 PDO访问异构数据库的方法,10 . 3 PDO访问数据库实例,10 . 1 PDO的基本概念,例如,在第9章介绍的mysql函数就只能访问MySQL数据库。如果需要处理Oracle,就必须安装和重新学习PHP中处理Oracle的扩展函数库,如图10.1所示。,10 . 1 PDO的基本概念,访问每种数据库时都需要学习新的函数库,这很麻烦,而且使得PHP应用程序在异构数据库间的移植难以实现。为了解决这样的难题,就需要一个“数据库抽象层”。它能解决应用程序逻辑与数据库通信逻辑之间的耦合,通过这个通用接口传递所有与数据库相关的命令,PDO就是这样一个“数据库抽象层”,它的作用是统一各种数据库的访问接口,能够轻松地在不同数据库之间进行切换,使得PHP程序在数据库间的移植容易实现。如图10.2所示描述了这一过程。,10 . 1 PDO的基本概念,PDO对各种数据库的支持及对应使用的驱动名称,如表10.1所示。,10 . 2 PDO访问异构数据库的方法,10.2.1 安装PDO 在Windows环境下PHP 5.1以上版本中,PDO和主要数据库的驱动同PHP一起作为扩展发布,要激活它们只需要简单地编辑php.ini文件,去掉相应数据库PDO驱动dll之前的注释符(;)即可。例如: PHP_PDO_MYSQL extension=php_pdo_mysql.dll /激活MySQL的PDO驱动 PHP_PDO_ODBC extension=php_pdo_odbc.dll /激活ODBC的PDO驱动 PHP_PGSQL extension=php_pgsql.dll /激活PostgreSQL的PDO驱动,10.2.2 创建PDO对象,在使用PDO与数据库交互之前,首先要创建一个PDO对象,创建PDO对象的语句格式如下: $db=new PDO(DSN,username,password); 其中,DSN是数据源名,username为连接数据库的用户名,password为密码。针对不同DBMS的DSN是不同的,如表10.2所示。,10.2.3 使用PDO,创建好PDO对象后,就可以在编程中使用它来访问数据库了,对于PDO来说,访问不同数据库的接口是完全相同的。 当执行INSERT、UPDATE和DELETE等没有结果集的查询时,使用PDO对象中的exec()方法去执行。该方法成功执行后,将返回受影响的行数。 当执行返回结果集的SELECT查询时,或者所影响的行数无关紧要时,应当使用PDO对象中的query()方法。如果该方法成功执行指定的查询,则返回一个PDOStatement对象。如果使用了query()方法,并想要了解获取的数据行总数,可以使用PDOStatement对象中的rowCount方法获取。,10 . 3 PDO访问数据库实例,10.3.1 安装SQL Server 2008的PDO驱动 从微软官网下载PHP的SQL Server 2008扩展库SQLSRV20.EXE,解压并安装后,将其中的php_pdo_sqlsrv_53_ts_vc9.dll和php_sqlsrv_53_ts_vc9.dll复制到C:Program FilesPHPext下,再在配置文件php.ini末尾添加: extension=php_pdo_sqlsrv_53_ts_vc9.dll extension=php_sqlsrv_53_ts_vc9.dll 完成后打开IE,输入http:/localhost/phpinfo.php并单击【Enter】键,如图10.3所示,查看PDO的安装情况。,10.3.2 实例实现简单的登录系统,【例10.1】 制作一个登录系统,实现用户注册、用户登录、用户注销、修改密码等功能。 首先需要进行数据库设计,本例中需要创建的数据库名为USERS,数据库中有一个表userinfo,表的结构如表10.3所示。,10.3.2 实例实现简单的登录系统,创建USERS数据库的语句如下: CREATE DATABASE USERS 创建表userinfo的语句如下: USE USERS GO CREATE TABLE userinfo ( username VARCHAR(20) NOT NULL PRIMARY KEY, password VARCHAR(20) NOT NULL, sex BIT NOT NULL DEFAULT 1, age INT NULL, email CHAR(30) NULL ),10.3.2 实例实现简单的登录系统,在Practice工作目录下,新建以下文件。 EX10_1_fun.php文件,用于连接数据库,代码如下: getMessage(); ? EX10_1_login.php文件,用户登录页面,代码。,10.3.2 实例实现简单的登录系统, EX10_1_regist.php文件,用户注册页面,代码。 EX10_1_main.php文件,主页面,代码如下: “; echo “查看个人信息 ?,10.3.2 实例实现简单的登录系统, EX10_1_select.php文件,用于查看个人信息,代码如下: query($select_sql); while(list($username,$password,$sex,$age,$email)=$select_result-fetch(PDO:FETCH_NUM) echo “用户名:“.$username.“; echo “性别:“; if($sex=1) echo “男.“; else echo “女.“; echo “年龄:“.$age.“; echo “email:“.$email.“; ?,10.3.2 实例实现简单的登录系统, EX10_1_update.php文件,用于修改密码,代码。 EX10_1_delete.php文件,用于注销用户账户,代码如下: exec($delete_sql); if($affected) echo “alert(注销用户成功!);location.href=EX10_1_login.php;“; else echo “alert(注销用户失败!);location.href=EX10_1_main.php;“; ?,10.3.2 实例实现简单的登录系统,本例的登录页面如图10.4所示,如果没有用户账户,可以单击【注册】按钮,进入注册页面,如图10.5所示。,10.3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论