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