SQL查询的数组问题

时间:2014-01-09 06:14:45

标签: php mysql sql sql-update

我在查询中遇到语法问题

这有效

$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));

2 个答案:

答案 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))