php pdo中bindParam() 和 bindValue()方法的区别
程序员文章站
2022-04-02 15:45:51
...
方法 bindParam() 和 bindValue() 非常相。 唯一的区别就是前者使用一个PHP变量绑定参数,而后者使用一个。 所以使用bindParam是第二个参数只能用变量名,而不能用变量,而bindValue至可以使用具体。 $stm = $pdo-prepare(select * from users where user =
方法 bindParam() 和 bindValue() 非常相似。
唯一的区别就是前者使用一个PHP变量绑定参数,而后者使用一个值。
所以使用bindParam是第二个参数只能用变量名,而不能用变量值,而bindValue至可以使用具体值。
$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可以绑定为input/output变量,如下面
$stm = $pdo->prepare("call func(:param1)"); $param1 = "abcd"; $stm->bindParam(":param1",$param1); //正确 $stm->execute();存储过程执行过后的结果可以直接反应到变量上。
对于那些内存中的大数据块参数,处于性能的考虑,应优先使用前者。
via http://anfirst.cn/archives/1030
推荐阅读
-
sql中varchar和nvarchar的区别与使用方法
-
Python中函数和方法的区别
-
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
-
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
-
php进行支付宝开发中return_url和notify_url的区别分析
-
CentOS系统中PHP和MySQL的升级方法
-
浅析php中抽象类和接口的概念以及区别
-
详解Node.js中path模块的resolve()和join()方法的区别
-
浅谈Java异常的Exception e中的egetMessage()和toString()方法的区别
-
PHP中防止SQL注入攻击和XSS攻击的两个简单方法