0

あるテーブル [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 に答える