[英]Update one table after deleting and inserting new data in another table
我想要:
tbl_cost_sharing
中刪除和插入數據和
tbl_payment_request
。 我在下面編寫的代碼只是在做 (1) 即刪除和插入表tbl_cost_sharing
中的數據而不是 (2) 即更新表tbl_payment_request
。 當我運行它時,代碼沒有顯示任何錯誤。
if($_POST['btn_action'] == 'Edit')
{
$delete_query =
"
DELETE FROM
tbl_cost_sharing
WHERE
payment_request_id = '".$_POST["payment_request_id"]."'
"
;
$statement = $connect->prepare($delete_query);
$statement->execute();
$delete_result = $statement->fetchAll();
if(isset($delete_result))
{
$total_amount = 0;
for($count = 0; $count<count($_POST["protocol_id"]); $count++)
{
$protocol_details = fetch_protocol_details($_POST["protocol_id"][$count], $connect);
$sub_query =
"
INSERT INTO
tbl_cost_sharing
(
payment_request_id,
crs_site_id,
protocol_id,
budget_class_id,
cost_sharing_amount
)
VALUES
(
:payment_request_id,
:crs_site_id,
:protocol_id,
:budget_class_id,
:cost_sharing_amount
)
"
;
$statement = $connect->prepare($sub_query);
$statement->execute
(
array
(
':payment_request_id' => $_POST["payment_request_id"],
':crs_site_id' => $_POST["crs_site_id"][$count],
':protocol_id' => $_POST["protocol_id"][$count],
':budget_class_id' => $_POST["budget_class_id"][$count],
':cost_sharing_amount' => $_POST["cost_sharing_amount"][$count]
)
)
;
$total_amount = $total_amount + $_POST["cost_sharing_amount"][$count];
}
$update_query =
"
UPDATE
tbl_payment_request
SET
'department_id' = :department_id,
'payee_id' = :payee_id,
'payment_type_id' = :payment_type_id,
'currency_type_id' = :currency_type_id,
'payment_details' = :payment_details
'payment_request_total' = :payment_request_total
'sig_1' = :sig_1,
'sig_2' = :sig_2,
'sig_3' = :sig_3,
'sig_4' = :sig_4,
'sig_5' = :sig_5,
'sig_6' = :sig_6,
'app_1' = :app_1,
'app_2' = :app_2,
'app_3' = :app_3,
'app_4' = :app_4,
'app_5' = :app_5,
'app_6' = :app_6
WHERE
'payment_request_id' = :payment_request_id
"
;
$statement = $connect->prepare($update_query);
$statement->execute
(
array
(
':department_id' => $_POST["department_id"],
':payee_id' => $_POST["payee_id"],
':payment_type_id' => $_POST["payment_type_id"],
':currency_type_id' => $_POST["currency_type_id"],
':payment_details' => $_POST["payment_details"],
':payment_request_total' => $total_amount,
':sig_1' => $_POST["sig_1"],
':sig_2' => $_POST["sig_2"],
':sig_3' => $_POST["sig_3"],
':sig_4' => $_POST["sig_4"],
':sig_5' => $_POST["sig_5"],
':sig_6' => $_POST["sig_6"],
':app_1' => $_POST["app_1"],
':app_2' => $_POST["app_2"],
':app_3' => $_POST["app_3"],
':app_4' => $_POST["app_4"],
':app_5' => $_POST["app_5"],
':app_6' => $_POST["app_6"],
':payment_request_id' => $_POST["payment_request_id"]
)
)
;
$result = $statement->fetchAll();
if(isset($result))
{
echo 'Payment request updated';
}
}
}
我發現了我在哪里犯了錯誤;
我不應該把''
放在SET
字段上,例如
$update_query =
"
UPDATE
tbl_payment_request
SET
'department_id' = :department_id,
'payee_id' = :payee_id,
相反,它應該像下面這樣:
$update_query =
"
UPDATE
tbl_payment_request
SET
department_id = :department_id,
payee_id = :payee_id,
我也離開了,
在:payment_request_total
和:payment_details
如下:
$update_query =
"
UPDATE
tbl_payment_request
SET
'department_id' = :department_id,
'payee_id' = :payee_id,
'payment_type_id' = :payment_type_id,
'currency_type_id' = :currency_type_id,
'payment_details' = :payment_details
'payment_request_total' = :payment_request_total
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.