<?php
$db = new PDO($dsn,$username,$password);
$uname='avi';
$age=19;
$stmt = $db->prepare('INSERT INTO table(uname,age) VALUES(:uname,:age)');
$stmt->execute(array(':uname'=>$uname,':age'=>$age));
$stmt = $db->prepare('INSERT INTO table(uname,age) VALUES(?,?)');
$stmt->execute(array($uname,$age));
$stmt = $db->prepare('INSERT INTO table(uname,age) VALUES(:uname,:age)');
$stmt->bindValue(':uname',$uname); //can be $uname or just 'avi'
$stmt->binParam(':age',$uname); //cannot be 'avi' or value only
$stmt->execute();
?>
什麼時候應該使用bindParam()
?所有以前的方法似乎都比較簡單,並且需要更少的代碼。bindParam(),bindValue()和execute(array())之間有什麼區別和優點
使用bindParam()
優於其他方法(bindValue()
,)有什麼好處?
爲什麼螺絲時,你可以只用指甲?這是完成同樣任務的不同方式。 – 2015-04-02 22:06:04
是的,但大量的網站和一些例子在這裏使用bindParam時應該使用bindParam? SOme exmaple在PHP文檔中顯示它與存儲過程一起使用,返回值爲不同情況下的不同用途 – AAB 2015-04-02 22:08:11
。在完全不起作用的代碼中,bindParam()就像做':foo&= $ var'。 foo參數將是對$ var的引用,並且在調用'execute()'時簡單地將變量中的任何值抽取出來。 ' - > exec(array(...))'版本在那時使用變量值。 – 2015-04-02 22:11:27