首页 > 其他 > 详细

pdo中bindParam()与bindValue的区别

时间:2016-05-17 13:13:47      阅读:177      评论:0      收藏:0      [点我收藏+]


2012-07-03  ConfiJin  文章来源  阅 2491  转 2

php pdo中bindParam() 和 bindValue()方法的区别

方法 bindParam() 和 bindValue() 非常相似。
唯一的区别就是前者使用一个PHP变量绑定参数,而后者使用一个值。

所以使用bindParam是第二个参数只能用变量名,而不能用变量值,而bindValue至可以使用具体值。

01$stm $pdo->prepare("select * from users where user = :user");
02$user "jack";
03//正确
04$stm->bindParam(":user",$user);
05//错误
06//$stm->bindParam(":user","jack");
07//正确
08$stm->bindValue(":user",$user);
09//正确
10$stm->bindValue(":user","jack");

另外在存储过程中,bindParam可以绑定为input/output变量,如下面:

1$stm $pdo->prepare("call func(:param1)");
2$param1 "abcd";
3$stm->bindParam(":param1",$param1); //正确
4$stm->execute();

存储过程执行过后的结果可以直接反应到变量上。

对于那些内存中的大数据块参数,处于性能的考虑,应优先使用前者。

pdo中bindParam()与bindValue的区别

原文:http://www.cnblogs.com/feng12345/p/5501036.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!