[英]How can i update multiple table with one query 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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.