簡體   English   中英

PHP MySQL事務未插入所有查詢

[英]Php mysql transaction not inserting all queries

我有問題 我運行一個包含2個查詢的事務,但是只有一個查詢正在數據庫中寫。另一個則不是。 那怎么可能呢? 我以為這兩者都是或都不是,這就是使用交易權的關鍵嗎?

這是我的代碼的一部分:

mysqli_autocommit($conn, FALSE);
mysqli_query($conn, "INSERT INTO my_table_exemple (orderId, packageName, productId, purchaseTime, purchaseState, purchaseToken) 
                             VALUES ('".$_POST["orderId"]."', '".$_POST["packageName"]."', '".$_POST["productId"]."', '".$_POST["purchaseTime"]."', ".$_POST["purchaseState"].", '".$_POST["purchaseToken"]."')");

mysqli_query($conn, "UPDATE user
                             SET end_date='".$calcEndDate."'
                             WHERE id=".$_POST['user_id']);

/* Validation de la transaction */
if (!mysqli_commit($conn)) {
    $row_array['status'] = "error";
    $row_array['msg'] = "Error: " . mysqli_error($conn);
} else {
    $row_array['status'] = "success";
    $row_array['msg'] = "Transaction success";
}   
echo json_encode($row_array);

這將返回事務成功,更新用戶表,但my_table_exemple中未插入任何記錄。

我猜我的插入查詢有一個錯誤,我要調試它,但是我不想知道為什么我的事務無法按預期方式運行。

您需要在每個查詢之后檢查是否有任何錯誤-在您將回滾的任何錯誤上,如果在提交所有查詢之后都沒有錯誤,則需要提交。 只有沒有錯誤的查詢才會被提交,並且提交將報告有關提交的任何錯誤-而不是先前的查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM