0

我在使用此 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() 的致命错误。

我查看了其他一些帖子,但没有具体看到我在写声明时出错的地方。谢谢。

4

1 回答 1

2

MySQLUPDATE JOIN语法有点……不同。

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

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

简单的 SQLfiddle 测试场

于 2012-10-29T21:44:18.103 回答