数据库抽象层PDO 8

Posted itxdl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库抽象层PDO 8相关的知识,希望对你有一定的参考价值。

18.6.4  执行准备好的查询

当准备好查询并绑定了相应的参数后,就可以通过调用PDOStatement类对象中的execute()方法,反复执行在数据库缓存区准备好的语句了。在下面的示例中,向前面提供的contactInfo表中使用预处理方式连续执行同一条INSERT语句,通过改变不同的参数添加两条记录,代码如下所示:

技术图片

 

如果你只是要传递输入参数,并且有许多这样的参数要传递,那么,下面示例提供的快捷方式语法会非常有帮助。该示例通过在execute()方法中提供一个可选参数,该参数是由准备查询中的命名参数占位符组成的数组,这是第二种为预处理查询在执行中替换输入参数的方式。此语法能够省去对$stmt->bindParam()的调用。将上面的示例做如下修改:

技术图片

 

上例使用命名参数去准备一条SQL语句,当调用execute()方法时就必须传递一个关联数组,并且这个关联数组的每个下标名称都要和命名参数名称一一对应(可以不用命名参数前缀“:”),数组中的值才能对应地替换SQL语句中的命名参数。如果使用的是问号(?)参数,则需要传递一个索引数组,数组中每个值的位置都要对应每个问号参数。将上面的示例片段做如下修改:

技术图片

 

另外,如果执行的是INSERT语句,并且数据表有自动增长的ID字段,可以使用PDO对象中的lastInsertId()方法获取最后插入数据表中的记录ID。如果需要查看其他DML语句是否执行成功,可以通过PDOStatement类对象中的rowCount()方法获取影响记录的行数。

 

 

技术图片

技术图片

以上是关于数据库抽象层PDO 8的主要内容,如果未能解决你的问题,请参考以下文章

7.19 PDO(php data object-php数据对象)数据库抽象层

PDO:数据访问抽象层

PDO 数据访问抽象层

PHP系列数据库抽象层pdo

数据库抽象层 pdo

面向对象第七天----数据库抽象层PDO