PDO

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的基本格式

       (1)、 $dsn =“数据库类型:
                    dbname=数据库名;host=数据库的域名”;
                    $user = "数据库的用户名";
                    $password = "数据库的密码";

    例如:   

                    $dsn = "mysql:dbname=test;host=127.0.0.1";
                     $user = "root";
                     $password="123456";

(2)、声明对象:

                $object = new PDO($dsn,$user,$password);


6、案例:

1)添加
              主要思路:
                         1)连接数据库、数据库的用户名、数据库的密码
                         2)生成PDO对象
                         3)执行添加
              实现代码如下:
            
  1. <?php  
  2. header('content-type:text/html;charset=utf8');  
  3. //连接数据库  
  4. $dsn="mysql:dbname=test;host=127.0.0.1";  
  5. //数据库的用户名  
  6. $user="root";  
  7. //数据库的密码  
  8. $password="123456";  
  9. //生成PDO对象  
  10. $object = new PDO($dsn,$user,$password);  
  11. //执行添加  
  12. $sql="insert into student(`name`,`sex`,`sex`) values('zhangsan','男','18')";  
  13. if($object->exec($sql)){  
  14.     echo '添加成功';  
  15. }  

exec主要执行没有返回结果集的操作

2)查询
              (1)查询方式一:
                           主要思路:
                                        1)连接数据库、数据库的用户名、数据库的密码
                                        2)生成PDO对象
                                        3)执行查询
                                实现代码:
            
  1. <?php  
  2. header('content-type:text/html;charset=utf8');  
  3. //连接数据库  
  4. $dsn="mysql:dbname=test;host=127.0.0.1";  
  5. //数据库的用户名  
  6. $user="root";  
  7. //数据库的密码  
  8. $password="123456";  
  9. //生成PDO对象  
  10. $object = new PDO($dsn,$user,$password);  
  11.   
  12. $sql="select * from student";  
  13. $result = $object->query($sql);  
  14. while($arr=$result->fetch()){  
  15.     print_r($arr);  
  16. }  
这个返回的是数字索引和关联索引,属于浪费资源,只需要关联索引数组,用一下方法查询:
  1. $object->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);  
  2. $result = $object->query($sql);  
  3. $result->setFetchMode(PDO::FETCH_ASSOC);  
  4. $result_array = $result->fetchAll();  
  5. print_r($result_array);  
setAttribute()方法是设置部分属性,主要属性有:PDO::ATTR_CASE、PDO::ATTR_ERRMODE等,我们设置的是PDO::ATTR_CASE(使用关联索引获取数据)

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()       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值