我有一个带有以下代码的 mysqli 查询:
$stmt = $mysqli->prepare('SELECT `user`, `status` FROM `mytable1` WHERE `type`=?');
$type = 1;
$stmt->bind_param('i', $type);
$stmt->execute();
$stmt->bind_result($user, $status);
$stmt->store_result();
$stmt->fetch();
$stmt->close();
我需要更新列“Money”,其中用户从“mytable1”输入“1”
$stmt = $mysqli->prepare('UPDATE `mytable2` SET `money`=100 WHERE `user`=?');
$stmt->bind_param('s', $user);
$stmt->execute();
$stmt->close();
这样就只更新一个用户。 我找到了 PHP 文档,但没有示例:(
最佳答案
也许是这样的组合查询:
UPDATE `mytable2` SET `money`=100 WHERE `user` in (
SELECT distinct `user` FROM `mytable1` WHERE `type`=?'
);
关于php mysqli,如何选择值并准备它们以更新其他表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34110922/