pdo预处理语句

Posted 涂先庆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pdo预处理语句相关的知识,希望对你有一定的参考价值。

PDO对预处理语句的支持需要使用PDOStatement类对象,但该类对象并不是通过NEW关键字实例化出来的,而是通过PDO对象中的prepare()方法,在数据库服务器中准备好一个预处理的SQL语句后直接返回的。如果通过之前执行PDO对象中的query()方法返回的PDOStatement类对象,只代表的是一个结果集对象。而如果通过执行PDO对象中的prepare()方法产生的PDOStatement类对象,则为一个查询对象,能定义和执行参数化的SQL命令。PDOStatement类中的全部成员方法如下所示:

01.PDOStatement::bindColumn ― 绑定一列到一个 php 变量
02. 
03.PDOStatement::bindParam ― 绑定一个参数到指定的变量名
04. 
05.PDOStatement::bindValue ― 把一个值绑定到一个参数
06. 
07.PDOStatement::closeCursor ― 关闭游标,使语句能再次被执行。
08. 
09.PDOStatement::columnCount ― 返回结果集中的列数
10. 
11.PDOStatement::debugDumpParams ― 打印一条 SQL 预处理命令
12. 
13.PDOStatement::errorCode ― 获取跟上一次语句句柄操作相关的 SQLSTATE
14. 
15.PDOStatement::errorInfo ― 获取跟上一次语句句柄操作相关的扩展错误信息
16. 
17.PDOStatement::execute ― 执行一条预处理语句
18. 
19.PDOStatement::fetch ― 从结果集中获取下一行
20. 
21.PDOStatement::fetchAll ― 返回一个包含结果集中所有行的数组
22. 
23.PDOStatement::fetchColumn ― 从结果集中的下一行返回单独的一列。
24. 
25.PDOStatement::fetchObject ― 获取下一行并作为一个对象返回。
26. 
27.PDOStatement::getAttribute ― 检索一个语句属性
28. 
29.PDOStatement::getColumnMeta ― 返回结果集中一列的元数据
30. 
31.PDOStatement::nextRowset ― 在一个多行集语句句柄中推进到下一个行集
32. 
33.PDOStatement::rowCount ― 返回受上一个 SQL 语句影响的行数
34. 
35.PDOStatement::setAttribute ― 设置一个语句属性
36. 
37.PDOStatement::setFetchMode ― 为语句设置默认的获取模式。
 
使用命名参数作为占位符的INSERT插入语句:
$dbh->prepare(“insert into contactinfo(name,address,phone) values(:name,:address,:phone)”);
 
使用问号(?)参数作为占位符的INSERT插入语句:
$dbh->prepare(“insert into contactinfo(name,address,phone) values(?,?,?)”);
 

以上是关于pdo预处理语句的主要内容,如果未能解决你的问题,请参考以下文章

PHP中的MySQLi扩展学习mysqli的事务与预处理语句

PHP中的PDO操作学习预处理语句及事务

PHP中的PDO操作学习预处理语句及事务

跟着百度学PHP[14]-PDO的预处理语句2

PHP中的MySQLi扩展学习mysqli的事务与预处理语句

预处理语句