我在查询中遇到语法问题
这有效
$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 :(得分:1)
试试这个:
UPDATE `table` SET `order`=2,active_status=3 WHERE (id, uid) IN (?)
生成(id, uid)
对(id1, uid1), (id1, uid2), (id2, uid3), etc...
并将其传递给查询。
答案 1 :(得分:1)
由于order
关键字其他查询不正确,您的第二个查询无法正常工作,例如更新查询未采用VALUES
,即在您的第三个查询中使用。
尝试
db->execute_query("UPDATE table SET `order`=?,active_status=3 WHERE id=? AND
uid=?",array($shoid,$id,$uid))