我想在条件相同时更新多个查询。它只对一个查询有效,其余查询将被跳过而不更新。谁能告诉我它是如何工作的? PHP代码是:
<?php
include("Database/connection.php");
$sql = "SELECT * FROM registration,billing_month";
$result = $link->query($sql);
while($row = $result->fetch_assoc())
{
$regid = $row['Reg_id'];
$billid = $row['Bill_id'];
$issuedate = $row['Bill_issue_date'];
$duedate = $row['Bill_due_date'];
$currentdues = $row['Current_Dues'];
$currentbill = $row['Current_Bill'];
$arrears = $row['Arrears'];
$surcharge = $row['Surcharge'];
$currentsurcharge = $row['Current_Surcharge'];
$updatesurcharge = $currentsurcharge + $surcharge;
$updatedsurcharge = 0;
$updatebill = $currentbill + $currentdues;
$updatecurrentbill = 0;
$updatearrears = $arrears + $currentbill;
$updatedarrears = $arrears + $currentsurcharge;
$updatearrearsfrombill = 0;
$updatearrearsfromsurcharge = 0;
$addsurchargewitharrears = $arrears + $currentsurcharge;
if (strtotime(date('Y-m-d')) >= strtotime($issuedate))
{
$sql_update = "UPDATE `registration` SET `Current_Bill`= $updatebill WHERE `Reg_id` = $regid";
$sql_update = "UPDATE `billing_month` SET `Current_Dues`= $updatecurrentbill WHERE `Bill_id` = $billid";
$sql_update = "UPDATE `registration` SET `Current_Surcharge`= $updatesurcharge WHERE `Reg_id` = $regid";
$sql_update = "UPDATE `billing_month` SET `Surcharge`= $updatedsurcharge WHERE `Bill_id` = $billid";
mysqli_query($link, $sql_update);
}
}
?>
最佳答案
在每个查询语句
的末尾添加;
,然后连接变量
例子
$sql_update = "UPDATE `registration` SET `Current_Bill`= $updatebill WHERE `Reg_id` = $regid;";
$sql_update .= "UPDATE `billing_month` SET `Current_Dues`= $updatecurrentbill WHERE `Bill_id` = $billid;";
$sql_update .= "UPDATE `registration` SET `Current_Surcharge`= $updatesurcharge WHERE `Reg_id` = $regid;";
$sql_update .= "UPDATE `billing_month` SET `Surcharge`= $updatedsurcharge WHERE `Bill_id` = $billid;";
mysqli_query($link, $sql_update);
Alternatively
您可以重命名您的变量,例如 $sql_update1
、$sql_update2
等,然后一个一个地调用它们。
例子:-
$sql_update1 = "UPDATE `registration` SET `Current_Bill`= $updatebill WHERE `Reg_id` = $regid";
$sql_update2 = "UPDATE `billing_month` SET `Current_Dues`= $updatecurrentbill WHERE `Bill_id` = $billid";
$sql_update3 = "UPDATE `registration` SET `Current_Surcharge`= $updatesurcharge WHERE `Reg_id` = $regid";
$sql_update4 = "UPDATE `billing_month` SET `Surcharge`= $updatedsurcharge WHERE `Bill_id` = $billid";
mysqli_query($link, $sql_update1);
mysqli_query($link, $sql_update2);
mysqli_query($link, $sql_update3);
mysqli_query($link, $sql_update4);
关于php - 如果条件相同那么如何在 php 中更新多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32203172/