首页后端开发PHPPDO基本使用是怎样的,有哪些知识点?

PDO基本使用是怎样的,有哪些知识点?

时间2024-03-22 11:26:03发布访客分类PHP浏览542
导读:今天这篇给大家分享的知识是“PDO基本使用是怎样的,有哪些知识点?”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,因此分享发大家做个参考,下文的讲解详细,步骤过程清晰,希望这篇“PDO基本使用是怎样的,有哪些知识点?”文章能帮助大家...
今天这篇给大家分享的知识是“PDO基本使用是怎样的,有哪些知识点?”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,因此分享发大家做个参考,下文的讲解详细,步骤过程清晰,希望这篇“PDO基本使用是怎样的,有哪些知识点?”文章能帮助大家解决问题。



一、基本知识

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)执行添加

实现代码如下:

?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主要用于执行没有返回结果集的操作,比如insert、delete、update,返回的是影响的记录条数

2)查询

(1)查询方式一:

主要思路:

(1)连接数据库、数据库的用户名、数据库的密码

(2)生成PDO对象

(3)执行查询

实现代码:

?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);

}
    

查询结果为:


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


以上就是关于PDO基本使用是怎样的,有哪些知识点?的介绍,本文内容仅供参考,有需要的朋友可以借鉴了解看看,希望对大家学习或工作,想要了解更多欢迎关注网络,小编每天都会为大家更新不同的知识。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: PDO基本使用是怎样的,有哪些知识点?
本文地址: https://pptw.com/jishu/650439.html
python日志发送到远端怎样实现,方法是什么 SQL Server创建数据库的方法是怎样的

游客 回复需填写必要信息