使用bindParam()方法和使用excute(array())有什么區別?
使用bindParam()方法和使用excute(array())有什么區別?
使用bindParam()
$stmt->bindParam(":usernma",$username); $stmt->bindParam(":password",$password);
使用execture()
$stmt->execute(array(":username"=>$username,":password"=>$password));
前面的占位符都是一樣的。那么這兩者有什么區別?
2019-03-11
execute() 傳參或?bindValue() 是綁定常量到參數;bindParam() 是綁定變量到參數。
相比之下,綁定變量更加靈活。
2016-02-01
bindParam()使得代碼更加健壯一些,試想一下如果要是執行一個很多的參數的array,舉個例子,項目初始的時候,只有5個參數,但是擴展業務的時候,需要擴展更多的參數,那你代碼重構的時候需要在array()里面添加一堆的參數,這樣會使得代碼的可讀性變的很差,無論是用于今后的重構,還是擴展業務,都是不利的。而使用bindParam()之后,代碼直觀,可用性也很高,不用的那一行,完全可以在前面 // ,代碼調試也很好。
以上是以軟件工程角度出發的個人想法