>  기사  >  백엔드 개발  >  PHP PDOStatement对象bindpram()、bindvalue()和bindcolum

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

WBOY
WBOY원래의
2016-06-23 13:29:32976검색

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函数

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.