PHP——PDO
- 2020 年 4 月 10 日
- 笔记
PDO的概述
PDO(PHP Data Object)是有MySql官方封装的、基于面向对象编程思想的、使用C语言开发的数据库抽象层。
访问数据库
连接服务器
_construct(DSN,[用户名,密码]);
DSN:指数据源,包括数据库名和主机名,MySQL数据库的DSN为“mysql:host=localhost;dbname=数据库名,port=主机名”
关闭连接
要想关闭连接,需要销毁对象以确保所有对他的引用都被删除,可以将变量赋值为NULL。
执行SQL语句
PDO提供了3中执行SQL语句的方法,分别是exec()方法、query()方法和预处理语句。
exec()方法
exec()方法可以执行一条语句,并返回受影响的行数:
int PDO::exec(sql);
exec()方法通常应用于INSERT、DELETE、UPDATE等语句
query()语句
query()语句常用于SELECT语句,他的返回值是PDOStatement的实例,是PDO的结果集
PDOStatement PDO::query(sql)
预处理语句
PDO提供对预处理语句的支持
1、定义预处理语句
使用prepare()方法可以执行SQL预处理语句,得到一个PDOStatement实例。
(1)命名参数:自定义的有意义的字符串作为命名参数,前面加上冒号:
insert into table_name(name,password,email) values(:name,:psasword,:email);
(2)问好数据占位符:使用“?”作为参数:
insert into table_name(name,password,email) values(?,?,?);
2、绑定参数
向预处理语句中绑定参数有3中方法:
(1)bindParam()方法:一个一个绑定,在绑定完成后,需要执行execute()方法使之生效。
(2)bindValue()方法:一个一个绑定,在绑定完成后,需要执行execute()方法使之生效。
(3)直接使用execute()方法传递一个数组,命名参数使用关联数组,数据站位符使用索引数组。
解析结果集
fetch()方法
使用fetch()方法可以从结果集中获取下一行的数据,返回的数组依赖于提取的类型。
$result->fetch();
fechAll()方法
使用fetchAll()方法可以返回一个包含结果集中所有行的数组
$result->fetchAll()
fetchColimn()方法
可以从结果集中获取下一行中指定列的值
$result->fetchColimn()