php - 如何使用一个查询 php 更新多个表?
问题描述
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$content = file_get_contents('php://input');
$user = json_decode($content, true);
$id_a = $user['id_a'];
$id_b = $user['id_b'];
$aName = $user['aName'];
$bName = $user['bName'];
$sql = "
BEGIN TRANSACTION;
UPDATE `tb1`
SET `aName` = '$aName'
WHERE `id_a` = '$id_a';
UPDATE `tb2`
SET `bName` = '$nName'
WHERE `id_b` = '$id_b';
COMMIT
";
$result = $conn->query($sql);
if($result){
echo json_encode(['status'=>'success','message'=>'Edited successfully']);
}
else{
echo json_encode(['status'=>'error','message'=>'An error occurred editing the information.']);
}
}
else{
echo json_encode(['status'=>'error','message'=>'REQUEST_METHOD Error']);
}
$conn->close();
我需要更新数据多个表但是当我使用上面的代码时它响应“编辑成功”但在数据库数据中没有改变任何东西
但是当更新单个表时它可以
解决方案
不需要交易,因为您的 PDO 似乎不接受交易。
像这样的东西应该在你给出的例子中起作用:
UPDATE tb1, tb2
SET tb1.aName = $aName,
tb2.bName = $bName
WHERE
tb1.id_a = $id_a
AND tb2.id_b = $id_b;
推荐阅读
- list - Swiftui 移除滑动删除功能
- android - 依次运行两个倒数计时器
- r - Creating a one variable when multiple answers are chosen -- in R
- list - 如何使用 SharedPreferences 从 Flutter 中的列表中保存多个布尔值
- ssis - 使用 SSIS 创建带有 2 个页眉和页脚行的平面文件,每个数据库记录有多个正文行
- sql - 将从一张表计算的平均总分存储到另一张表中
- php - 使用专属类别自动完成 WooCommerce 支付订单,否则设置自定义状态
- python - 散点图也使用颜色条表示值的重复
- python-3.x - 如何在单个 gzip 文件中搜索多个字符串?
- javascript - 换行符不能正确返回参数 - JAVASCRIPT