php的PDO类中bindValue和bindParam的区别

转载 2012年03月31日 10:37:53

// 注意:
// bindParam是绑定一个PHP变量到一个SQL参数.是引用方式传递
// 所以你可以改变变量值,再执行.就赋给SQL语句不同的值
// 注意与bindValue的区别

try {   
$sql = 'UPDATE `pdo` set `user` = :user, `email` = :email WHERE `id` = :id';
$pre = $dbh->prepare($sql);   
// 此处bindParam.执行一次更改id=2,执行一次更改id=3.结果不一样
$user = "ncat2";
$email = "ncat2@admpub.com";
$id = 2;
$pre->bindParam(':user', $user, PDO::PARAM_STR);
$pre->bindParam(':email', $email, PDO::PARAM_STR);
$pre->bindParam(':id', $id, PDO::PARAM_INT);
$pre->execute();
$user = "ncat3";
$email = "ncat3@admpub.com";
$id = 3;
$pre->execute();
unset($user, $email, $id);
// 此处bindValue. 执行两次id=4的SQL
$user = "ncat4";
$email = "ncat4@admpub.com";
$id = 4;
$pre->bindValue(':user', $user, PDO::PARAM_STR);
$pre->bindValue(':email', $email, PDO::PARAM_STR);
$pre->bindValue(':id', $id, PDO::PARAM_INT);
$pre->execute();
$user = "ncat5";
$email = "ncat5@admpub.com";
$id = 5;
$pre->execute();
} catch (PDOException $e)
{var_dump($e);}


php pdo中PDOStatement 类的bindParam和bindValue方法的区别

pdo中存在着两种方法可以为预处理的sql语句绑定参数,一种是bindParam,一种是bindValue,但是两者之间还是有区别的,bindParam只能绑定变量,不能绑定具体值,而且该变量为引用变...

mysql pdo bindValue和bindparam的区别

bindvalue 把一个值绑定到一个变量 bindparam 绑定一个参数绑定到指定的变量 前者可以绑定变量也可以绑定值,后者只能帮定变量,且这个变量在内部是引用绑定的,即绑定的结果会作用于这个...

php之坑--bindParam与bindValue

16 Oct 12 PDOStatement::bindParam的一个陷阱 作者: Laruence(   ) 本文地址: http://www.laruence.com/2012/...
  • cdnight
  • cdnight
  • 2016年12月12日 15:12
  • 2219

PHP 5.3.6及以前版本的PDO的bindParam,bindValue潜在的安全隐患

PHP 5.3.6及以前版本的PDO的bindParam,bindValue潜在的安全隐患

PDO 简介——预处理语句和存储过程 $stmt->bindParam(':name', $name);

PDO 简介——预处理语句和存储过程 许多成熟的数据库都支持预处理语句(Prepared Statements)的概念。它们是什么东西?你可以把它们想成是一种编译过的要执行的SQL语句模板,...
  • winggyn
  • winggyn
  • 2013年04月27日 09:33
  • 780

关于PDO预处理语句bindParam的坑应对策略

我们在SQL语句中,会传很多个参数,很难例如我们在如下语句中使用userId的位置有很多(语句并不完整): SELECT    A.id,                 A.title,   ...

php数据库操作类pdo

  • 2010年08月09日 22:37
  • 5KB
  • 下载

自己写的PHP pdo处理类

  • 2011年09月14日 13:59
  • 5KB
  • 下载

PHP中mysql、mysqli、pdo的区别和用法

平时总是用封装的写法写sql,最基本的数据库连接都快忘了怎么写了。现在回头总结一下PHP连接数据库的一些方法和区别: MySQL 是 PHP 操作 MySQL 数据库最原始的 Extension...

php pdo分页类

  • 2011年11月30日 12:06
  • 11KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php的PDO类中bindValue和bindParam的区别
举报原因:
原因补充:

(最多只允许输入30个字)