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

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() 都将更新所有绑定到列的变量。

<?php

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

时间: 2024-11-09 18:15:51

PHP PDOStatement对象bindpram()、bindvalue()和bindcolum的相关文章

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

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

PHP扩展PDO MySQL之PDOStatement::bindParam vs bindValue

PHP扩展PDO MySQL之PDOStatement::bindParam vs bindValue技术 maybe yes 发表于2015-11-16 13:27 原文链接 : http://blog.lmlphp.com/archives/155/The_difference_of_PDOStatement_bindParam_and_bindValue_of_PHP_extension_PDO_MySQL  来自 : LMLPHP后院 前些日子将 LBlog 在线体验站点 http://

88)PHP,PDOStatement对象

PDOStatement类,称之为PDO语句对象,SQL执行完(处理完)产生的结果对象. 1 fetchColumn(index=0) 2 允许传递参数,表示获得第一条记录的第几个字段的值. 3 相当于 getOne() 4 Fetch() 5 获取一条后,可以向后移动结果集指针. 6 相当于 getRow() 7 FetchAll() 8 9 相当于getAll() 10 11 rowCount(); 12 统计处理的记录数: 13 影响了多少行(增删改) 14 结果集中存在多少行(查). 1

数据库抽象类PDOStatement对象使用

1.预处理语句中使用占位符,分为 索引方式 和 关联方式 a.索引方式: $pdo=new PDO($dns,$username,$password,$options); $sql='select * from tests where username=?,password=?'; $stmt=$pdo->prepare($sql); $stmt->execute(array($username,$password)); b.关联方式: $pdo=new PDO($dns,$username,

PDO类PDO、PDOStatement、PDOException

PDO中包含三个预定义的类,它们分别是PDO.PDOStatement.PDOException PDO: PDO->setAttribute(); 全局属性设置,包括:列名格式和错误提示类型 PDO->query($sql); 常用于执行有返回的sql查找语句,但执行之前要手动转义,返回PDOStatement对象 PDO->exec($sql); 执行没有返回的sql语句,同样要手动转义,有插入.修改.删除操作.返回影响的行数 PDO->lastInsertId(); 返回最后

PDO、PDOStatement、PDOException

最近在学PDO  比较详细的资料 出处:http://blog.csdn.net/hsst027/article/details/23682003 PDO中包含三个预定义的类,它们分别是PDO.PDOStatement.PDOException PDO: PDO->setAttribute(); 全局属性设置,包括:列名格式和错误提示类型 PDO->query($sql); 常用于执行有返回的sql查找语句,但执行之前要手动转义,返回PDOStatement对象 PDO->exec($s

PDO 学习与使用 ( 一 ) :PDO 对象、exec 方法、query 方法与防 SQL 注入

1.安装 PDO 数据库抽象层 PDO - PHP Data Object 扩展类库为 PHP 访问数据库定义了一个轻量级的.一致性的接口,它提供了一个数据访问抽象层,针对不同的数据库服务器使用特定的 PDO 驱动程序访问,如图: Windows 环境下 PHP 5.1 以上版本通过编辑 php.ini文件来安装 PDO:去掉 extension=php_pdo.dll 前面的 ; 如果使用的数据库是 MySQL ,在 php.ini 文件中加载 MySQL 的 PDO 驱动: 添加 exten

初识PHP(四)PDO对象配置于使用

一.PDO的概念 PDO其实就是一个数据库的抽象层,使用PDO编程可以方便的在之后的实际运营中随时更改数据库而不用变更源代码.PDO的位置如下图所示: 二.PDO的开启 PDO需要使用php 5.1 之后的版本. 查看是否开启pdo功能需要新建一个php文件,使用phpinfo函数查询 如图,PDO驱动和pdo_mysql扩展均开启(enabled) linux: 我的系统是ubuntu14.04.3,php版本是PHP 5.5.9-1ubuntu4.14 ,在我这里pdo扩展默认是开着的(在后

PDO对象

一.PDO对象 1.调整PDO行为 2.设置错误处理模式 3.使用POD执行SQL语句 <?php //写一个data.txt 文件,每一行都是一个user数据,如何遍历它并把数据插入到数据库中 try { $dsn = "mysql:host=localhost; dbname=jkxy"; $name = "root"; // 数据库的登录用户名 $pwd = ""; // 数据库的登录密码 $pdo = new PDO ( $dsn,