您好,欢迎访问一九零五行业门户网

深入了解PHP中PDO的基本使用

本篇文章给大家带来pdo的相关基础知识,pdo是php5新加入的一个重大功能,我们的数据库服务器为mysql,所有的程序代码的数据库操作全是一mysql或者mysqli()函数来操作,希望对大家有帮助。
一、基本知识    1、什么是pdo?            pdo就是php data object 提供了php操作多种数据库的统一的接口
    2、为什么要使用pdo?                pdo是php5新加入的一个重大功能,我们的数据库服务器为mysql,所有的程序代码的数据库操作全是一mysql()或者mysqli()函数来操作,当我们的数据库 需要更换时比如换成,sql、server、postgresql、ms 等,我们不可能去修改所有的程序代码!所以就要用到pdo,pdo很好的帮我们解决了这个问题,使用pdo操作非常方便,只需要修改数据源格式,和加载相应的驱动文件到php.ini即可;
    3、pdo都有哪些特点?            1)编码的一致性               由于php可用的各种数据库扩展是由不同发行者编写的,所以尽管所有的扩展都提供了基本相同的特性,却不 满 足编码的一致性。pdo消除了这种不一致,提供了可用于各种数据库的单一接口;
2)灵活性                因为pdo在运行时加载必须的数据库驱动程序,所以不需要在每次使用不同数据库时重新配置和重新编译php。例如,如果数据库需要从sql切换到mysql,只需要加载pdo_mysql驱动程序就可以了。
3)面向对象特性                pdo利用php5的面向对象特性,可以获得更强大、更高效的数据库通信。
4)高性能                pdo是用c编写的,编译为php,与用php编写的其他解决方案相比,虽然其他都相同,但提供了更高的性能。
二、pdo基本使用        1、pdo的配置                    1)修改php.ini,添加mysql的pdo扩展                                打开php配置文件php.ini,找到php_pdo_mysql.dll这行去掉钱买你的分号
2)扩展目录中要有相应的扩展文件                            打开php配置文件php.ini,找到extension_dir,这个就是我们扩展存在的目录,首先去掉前面的分号,然后修改扩展目录,我的扩展目录是在e:/web/php/ext,就改成extension_dir=e:/web/php/ext。
3)pdo连接不同的数据,要有不同的数据库驱动文件,即我们所加入配置文件的扩展                    4)重新启动服务器,iis/apache,我的是apache,使配置生效        2、数据源配置的格式                1)数据源格式                        (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);
3、方法讲解                       1)添加                               主要思路:
(1)连接数据库、数据库的用户名、数据库的密码
(2)生成pdo对象
(3)执行添加
实现代码如下:
<?phpheader('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主要用于执行没有返回结果集的操作,比如insert、delete、update,返回的是影响的记录条数
2)查询 (1)查询方式一:
主要思路:
(1)连接数据库、数据库的用户名、数据库的密码
(2)生成pdo对象
(3)执行查询
实现代码:
<?phpheader('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);}
查询结果为:
$result的打印结果为:
还可以用:
$data=$result->fetchall();print_r($student_info);
输出结果为二维数组:
注释:
1、query()执行查询语句,返回结果集对象;
2、用循环利用fetch()方法逐个的取出记录,返回的是关联数组和索引数组两种数组,和mysql_fetch_array()的返回结果一致
3、fetchall()方法可以一次取出结果集中所有的数组,以二维数组的形式返回,但仍然是关联数组和索引数组两种数组
数字索引和关联索引都有,属于浪费资源,我们只需要关联索引:还可用用一下方式查询:
$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);
结果为:
注释:
        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()       
大家如果感兴趣的话,可以点击《php视频教程》进行更多关于php知识的学习。
以上就是深入了解php中pdo的基本使用的详细内容。
其它类似信息

推荐信息