1、什么是PDO?
PDO是PHP data Object 提供了PHP操作多种数据库的统一的借口。
2、为什么要使用PDO?
更换其他数据库的时候无需更换代码,提高了程序运行效率
3、PDO的特点是什么?
(1)、编码的一致性
(2)、灵活性
(3)、面向对象特性
(4)、高性能
使用PDO的好处是:从根本上防止SQL注入
4、如何使用PDO?
修改 php.ini中的配置 添加MYSQL的PDO扩展
(1)、extension=php_pdo_mysql.dll 去前面的分号
(2)、扩展目录中要有相应的扩展文件
(3)、PDO连接不同的数据库,要有不同的数据库驱动文件即我们所加入配置文件的扩展
(4)、重新启动Apache使配置生效
5、使用PDO的基本格式
例如:
(2)、声明对象:
$object = new PDO($dsn,$user,$password);
6、案例:
1)添加
- <?php
- header('content-type:text/html;charset=utf8');
- //连接数据库
- $dsn="mysql:dbname=test;host=127.0.0.1";
- //数据库的用户名
- $user="root";
- //数据库的密码
- $password="123456";
- //生成PDO对象
- $object = new PDO($dsn,$user,$password);
- //执行添加
- $sql="insert into student(`name`,`sex`,`sex`) values('zhangsan','男','18')";
- if($object->exec($sql)){
- echo '添加成功';
- }
exec主要执行没有返回结果集的操作
2)查询
- <?php
- header('content-type:text/html;charset=utf8');
- //连接数据库
- $dsn="mysql:dbname=test;host=127.0.0.1";
- //数据库的用户名
- $user="root";
- //数据库的密码
- $password="123456";
- //生成PDO对象
- $object = new PDO($dsn,$user,$password);
- $sql="select * from student";
- $result = $object->query($sql);
- while($arr=$result->fetch()){
- print_r($arr);
- }
- $object->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
- $result = $object->query($sql);
- $result->setFetchMode(PDO::FETCH_ASSOC);
- $result_array = $result->fetchAll();
- print_r($result_array);
PDO::CASE_UPPER是设置关联索引为大写,
PDO::CASE_LOWER -- 强制列名为小写
PDO::CASE_NATURAL -- 列名按照原始方式
PDO::CASE_UPPER -- 强制列名为大写
setFetchMode()方法设置获取结果集的返回值类型,同样类型还有:
PDO::FETCH_ASSOC --关联数组形式
PDO::FETCH_NUM -- 数字索引形式数组
PDO::FETCH_BOTH --两者数组形式都有
PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的mysql_fetch_object()