2014-01-09 70 views
1

陣的問題,我有語法問題在查詢與SQL查詢

這工作

$db->execute_query("UPDATE table SET order=2,active_status=3 WHERE id=? AND uid=?",array($id,$uid)); 

但這並不。這是因爲數組

$db->execute_query("UPDATE table SET order=?,active_status=3 WHERE id=? AND uid=?",array($shoid,$id,$uid)); 

的我也嘗試過類似

$db->execute_query("UPDATE table (`order`) WHERE id=? AND uid=? VALUES (?)",array($id,$uid,$shoid)); 

但這不是工作要麼。

我得到的錯誤是這個

Query failed : UPDATE orsil_quote (`order`) WHERE id='38' AND uid='115' VALUES ('49') 

的問題是「49」,如果我可以從49中查詢中刪除「。這將工作這樣的,我確定

$db->execute_query("UPDATE table SET order=?,active_status=3 WHERE id=? AND uid=?",array($shoid,$id,$uid)); 
+0

發表您的完整的PHP代碼 – Melon

+0

這是一個很大的代碼,而且大部分沒有用,如果你想知道什麼呢$ shoid有,它就像$ shoid = '40' (最後一個ID)我會編輯粘貼錯誤,拋出所以你可以看到 –

+0

謝謝:)這就是我的意思(對於排序的評論,我是在移動)抱歉 – Melon

回答

1

由於order關鍵字休息查詢不正確,您的第二個查詢不起作用,例如更新查詢不需要VALUES即用於您的第三個查詢。

TRY

db->execute_query("UPDATE table SET `order`=?,active_status=3 WHERE id=? AND 
        uid=?",array($shoid,$id,$uid)) 
+0

謝謝你的工作 –

1

試試這個:

UPDATE `table` SET `order`=2,active_status=3 WHERE (id, uid) IN (?) 

生成對(id, uid)(id1, uid1), (id1, uid2), (id2, uid3), etc...,並通過它來查詢。

+0

順序是一個變量數組發送作爲$ shoid,再次檢查問題 –

+0

@MonchoChavez然後你必須觸發多個查詢每個值集合 –