PHP之PDO

POD是这3个单词:PHP Data Object (PHP数据对象)

PDO是php操作数据库的系统内部类

pdo中常用的两个类:

POD类:代表能够对数据库进行各种操作(执行语句)的一个类。

PODStatemet类:代表“结果集”,其实是PDO对象执行一条查询语句(select语句)成功后的结果。

我们今天主要就是两个类的使用。

要使用pdo需要在php.ini配置文件中,打开对应的扩展模块:php_pdo_mysql.dll

pdo连接mysql数据库

$pdo=new pdo("数据库连接信息dsn",'用户名,'密码',‘连接选项‘)

DSN(数据源名称)的形式对不同的数据库所有不同,mysql数据库的dns形式为:

mysql:host=数据库服务器名或ip地址;port=端口号;dbname=数据库名;

1.exec( $sql ) :可以执行一条增删改语句,返回受影行数;

2.getOneRow( $sql ):可以执行一条查询语句,返回一行数据(是一个一维数组);

3.getMoreRow($sql):可以执行一条查询语句,返回多行数据(二维数组);

4.getOneData($sql):可以执行一条查询语句,返回一个数据(是一个标量数据);

PDOstateMent对象:

该对象是pdo对象使用query()方法执行一条查询语句(比如select语句)成功后,返回的结果对象,其实就是查询到的数据集(结果集)。

fetch():返回一行,结果是一个一维数组

fetchAll():返回多行,结果是一个二维数组;

fetchColumn():返回一列,结果是一个标量数据;

pdo中的预处理:

对要执行的sql语句,先进行“预编译”,以预先对语句进行分析和优化。其后可以根据需要,对编译过的语句设定所需要的参数并执行它,更快,更安全。

 对sql语句要预处理的值设置占位符或者:命名参数

用pdo->prepare(预处理sql语句) 得到pdostatement对象

在用pdostatement->bindValue(占位符或命名参数,对应的数据)

然后用pdostatement->execute()执行,得到结果是true或false

pdo中的事务:

事务:使用多条增删改语句,执行起来像一条语句一样,如果都执行成功的话,才会读写数据库,有一条失败,则执行回滚操作,都不执行读写操作。

$pdo->beginTransation()开启事务

可以对执行的sql语句进行判断结果,执行commit提交操作或者执行rollback回滚操作

原文地址:https://www.cnblogs.com/bjphp/p/8520202.html