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