在mysql中更新内部加入更新的困难

时间:2012-10-29 21:33:24

标签: php mysqli

我在这个MYSQL标题中有一些问题,用于在一个表[users]中更新值[foodie_count = foodie_count-8],同时从另一个表[food]和两个表中获取值[food.id =?]链接[users.id = food.userid]:

require_once('./includes/connection.inc.php');
$stmt = $db->prepare("UPDATE users SET foodie_count=foodie_count-8 FROM food INNER JOIN users ON users.id=food.userid WHERE food.id=?");
$stmt->bind_param('i',$delete_event);
$stmt->execute();

该声明不正确,并且在非对象上调用成员函数prepare()时发生致命错误。

我查看了其他一些帖子,但是没有具体看到我在编写语句时出错的地方。感谢。

1 个答案:

答案 0 :(得分:2)

MySQL UPDATE JOIN语法有点......不同。

这应该是与MySQL所需语法相同的查询;

UPDATE users
JOIN food 
  ON users.id=food.userid 
SET foodie_count=foodie_count-8 
WHERE food.id=?

Simple SQLfiddle testing ground