2015-06-18 29 views
2

如何使用預處理語句和綁定參數替換列中的值?例如,PDO預處理語句:替換列的值

$stmt = "UPDATE users SET name = :name 
    WHERE name = :name"; 

$stmt->bindParam(:name, $oldName); 
$stmt->bindParam(:name, $newName); 
$stmt->execute(); 
+0

衛生署!當然,'解決方案..我的大腦在這個小時顯然不工作。謝謝你們的幫助。 – Nick

+0

不客氣。樂意效勞。 –

回答

3

不能使用prepare語句中名稱相同的綁定參數的參數名稱必須是獨一無二的,因爲

$stmt = $connection->prepare("UPDATE users SET name = :newName 
    WHERE name = :oldName"); 

$stmt->bindParam(':oldName', $oldName); 
$stmt->bindParam(':newName', $newName); 
2

你必須使用不同的佔位符:

$stmt = $dbh->prepare("UPDATE users SET name = :newname 
    WHERE name = :oldname") 
$stmt->bindParam(':oldname', $oldName); 
$stmt->bindParam(':newname', $newName); 
$stmt->execute();