关于PDO的资料,网上一大堆,小白在此总结一下,以备日后学习之用。
1.什么是PDO?
POD(PHP Data Object)扩展在PHP5中加入,PHP6中将默认识用PDO连接数据库,所有非PDO扩展将会在PHP6被从扩展中移除。该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题。
2. 如何配置PDO
我的PHP版本为5.2.17,在PHP安装目录下找到万恶的php.ini文件,查找;extension=php_pdo字段,所有以;extension开始的行均为所谓的PHP扩展。如果想要PHP支持某种扩展,只要在对应的行去掉分号,保存,重启浏览器即可。例如,我想要PHP支持PDO扩展,只要将以下行开始的分号去掉,然后就成了下面介个样子,保存,重启Apache浏览器。
extension=php_pdo.dll extension=php_pdo_firebird.dll extension=php_pdo_mssql.dll extension=php_pdo_mysql.dll extension=php_pdo_oci.dll extension=php_pdo_oci8.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll
3.如何判断PDO配置的成功与否
回到最初学习php的语法,利用echo phpinfo()的输出页面就可以判断,在输出页面中查找pdo support,如果它后面的值为enabled,则表示pdo配置成功。
4.实例
实例的重点是PDO中对数据库的增删改查操作,目的是为了对这几个函数加深印象,创建文件test.php
//查询操作 在<>中的表示需要自己设定 $pdo=new PDO("mysql:host=localhost;dbname=test","root","***"); //PDO接受三个参数,IP地址;数据库名,用户名和密码,作用是为了创建一个数据库连接 $rs=$pdo->query("select * from game"); //调用$pdo的query方法执行sql,其中game是我在test数据库中创建的表名 while($row=$rs->fetch()){ //$rs为query执行的结果,其中可能不止一条记录,通过$rs->fetch()可以一条一条的取出记录,如果想一次性取出,使用$rs->fetchall()函数 print_r($row); }
//删除、修改、增加的操作使用的是$pdo->exec($sql)操作,例如$pdo->exec("insert into .....");$pdo->exec("update table_name .....");$pdo->exec("delete table_name...")
为了捕获在操作过程中可能出现的错误或者异常,可以使用try{}cathch{}捕获异常,like this:
try{ //查询操作 在<>中的表示需要自己设定 $pdo=new PDO("mysql:host=localhost;dbname=test","root","***"); //PDO接受三个参数,IP地址;数据库名,用户名和密码,作用是为了创建一个数据库连接 $rs=$pdo->query("select * from game"); //调用$pdo的query方法执行sql,其中game是我在test数据库中创建的表名 while($row=$rs->fetch()){ //$rs为query执行的结果,其中可能不止一条记录,通过$rs->fetch()可以一条一条的取出记录,如果想一次性取出,使用$rs->fetchall()函数 print_r($row); } }catch(PDOException e){ echo e.message; exit; }