2013-03-30 252 views
1

我有失敗的更新SQL語句,我不知道原因..SQL UPDATE語句失敗

有什麼不妥:

<?php 
extract($_POST); 
if ($req = $db->prepare("UPDATE {$sTable} SET ? = ? WHERE id=?")) { 
    $req->bind_param("ssi", $columnName, $value, $id); 
    $req->execute(); 
} 
?> 
+0

當然這是連接到數據庫後.. – iguider

+1

使事情變得更容易指出你試過什麼,你得到哪些錯誤... – fedorqui

+0

@fedorqui我使用ajax來更新「數據表」(http:///www.datatables.net/)表,但它沒有更新.. 我不知道爲什麼或什麼是錯誤.. – iguider

回答

2

如果綁定列串PARAM,您的查詢將如下所示:

UPDATE some_table SET 'column' = 'value' WHERE id=1 

這當然是錯誤的。所以答案是你不能在列表(或表)中將列(或表)作爲參數進行綁定。

+0

謝謝.. 問題解決.. – iguider

+0

我指出了什麼是錯的。 –

+0

是非常感謝.. <?php extract($ _ POST); if($ req = $ db-> prepare(「UPDATE {$ sTable} SET {$ columnName} =?WHERE id =?」)){ $ req-> bind_param(「si」,$ value,$ id) ; $ req-> execute(); } ?> 解決了這個問題.. – iguider