Home  >  Article  >  Backend Development  >  PHP PDOStatement对象bindpram()、bindvalue()和bindcolum

PHP PDOStatement对象bindpram()、bindvalue()和bindcolum

WBOY
WBOYOriginal
2016-06-23 13:29:32922browse

PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别

PDOStatement::bindParam ― 绑定一个参数到指定的变量名。

绑定一个PHP变量到用作预处理的SQL语句中的对应命名占位符或问号占位符。 不同于 PDOStatement::bindValue() ,此变量作为引用被绑定,并只在 PDOStatement::execute() 被调用的时候才取其值。

PDOStatement::bindValue ― 把一个值绑定到一个参数。

绑定一个值到用作预处理的 SQL 语句中的对应命名占位符或问号占位符。

<?php$stm = $pdo->prepare("select * from users where user = :user");$user = "jack";//正确$stm->bindParam(":user",$user);//错误$stm->bindParam(":user","jack");//正确$stm->bindValue(":user",$user);//正确$stm->bindValue(":user","jack"); //所以使用bindParam是第二个参数只能用变量名,而不能用变量值,而bindValue至可以使用具体值。?>


PDOStatement::bindColumn ― 绑定一列到一个 PHP 变量。

安排一个特定的变量绑定到一个查询结果集中给定的列。每次调用 PDOStatement::fetch() 或 PDOStatement::fetchAll() 都将更新所有绑定到列的变量。

<?phpfunction  readData ( $dbh ) {    $sql  =  'SELECT name, colour, calories FROM fruit' ;    try {        $stmt  =  $dbh -> prepare ( $sql );        $stmt -> execute ();         /*  通过列号绑定  */        $stmt -> bindColumn ( 1 ,  $name );        $stmt -> bindColumn ( 2 ,  $colour );         /*  通过列名绑定  */        $stmt -> bindColumn ( 'calories' ,  $cals );         while ( $row  =  $stmt -> fetch ( PDO :: FETCH_BOUND )) {            $data  =  $name  .  "\t"  .  $colour  .  "\t"  .  $cals  .  "\n" ;            print  $data ;        }    }    catch ( PDOException $e ) {        print  $e -> getMessage ();    }}readData ( $dbh );?>



参考来源: 
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
http://www.lai18.com/content/369335.html

延伸阅读

《PHP数据库PDO系列》系列技术文章整理收藏 

1php数据库抽象层 PDO

2php数据库抽象层之PDO介绍及简单实例

3PHP PDO类解决数据库连接问题

4PHP 5数据对象(PDO)抽象层与Oracle

5PHP PDOStatement:bindParam插入数据错误问题分析

6PDO防注入原理分析以及使用PDO的注意事项总结

7PHP数据库抽象层之PDO(一)??简介和安装配置

8PHP数据库抽象层之PDO(五)??错误与错误处理

9PHP数据库抽象层之PDO(三)??事务与自动提交

10PHP数据库抽象层之PDO(二)??连接与连接管理

11PHP数据库抽象层之PDO(四)??预处理语句与存储过程

12PHP数据库抽象层之PDO(七)??相关类和方法

13PHP数据库抽象层之PDO(六)??大对象(LOBs)

14PHP PDO操作总结

15PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别

16PDO预处理语句PDOStatement对象使用总结

17PHP中MySQL、MySQLi和PDO的用法和区别【原创】

18PHP实现PDO的mysql数据库操作类

19php使用pdo连接报错Connection failed SQLSTATE的解决方法

20php使用pdo连接并查询sql数据库的方法

21php使用pdo连接mssql server数据库实例

22php使用PDO方法详解

23php下pdo的mysql事务处理用法实例

24php使用PDO操作MySQL数据库实例

25PHP PDO fetch 模式各种参数的输出结果一览

26对PHP PDO的一些认识小结

27php中数据库连接方式pdo和mysqli对比分析

28PDO防注入原理分析以及注意事项

29php中mysql连接方式PDO使用详解

30PHP使用PDO连接ACCESS数据库

31php中PDO方式实现数据库的增删改查

32浅谈PDO的rowCount函数

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn