码迷,mamicode.com
首页 > 其他好文 > 详细

pdo中bindParam()与bindValue的区别

时间:2016-05-17 13:15:50      阅读:199      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!