gpt4 book ai didi

php - 多次更新查询

转载 作者:行者123 更新时间:2023-11-29 22:06:39 25 4
gpt4 key购买 nike

我在php中编写了两段不同的代码,我只想将其与一段代码合并,因为两段代码是相同的,只有UPDATE查询不同。谁能帮我?第二个问题是 if 条件不起作用,为什么会这样?

代码1:

 <?php

include("Database/connection.php");

$sql = "SELECT * FROM registration,billing_month";
$result = $link->query($sql);

while ($row = $result->fetch_assoc()) {
$regid = $row['Reg_id'];
$duedate = $row['Bill_due_date'];
$currentbill = $row['Current_Bill'];
$arrears = $row['Arrears'];
$updatearrears = $arrears + $currentbill;

if (date('Y-m-d') > $duedate) {
$sql_update = "UPDATE registration SET Arrears= $updatearrears WHERE Reg_id = $regid";

if (mysqli_query($link, $sql_update)) {
// echo "Updated";
} else {
// echo "Could not updated";
}
}
}
?>

代码2:

   <?php

include("Database/connection.php");

$sql = "SELECT * FROM registration,billing_month";
$result = $link->query($sql);

while ($row = $result->fetch_assoc()) {
$regid = $row['Reg_id'];
$billingid = $row['Bill_id'];
$duedate = $row['Bill_due_date'];
$currentbill = $row['Current_Bill'];
$updatebill = 0;

if (date('Y-m-d') > $duedate) {
$sql_update = "UPDATE registration SET Current_Bill= $updatebill WHERE Reg_id = $regid";

if (mysqli_query($link, $sql_update)) {
// echo "Updated";
} else {
// echo "Could not updated";
}
}
}
?>

最佳答案

使用strtotime()比较您的数据。还要在您的值中添加引号。

更新为数据库使用之前

 $updatebill=mysqli_real_escape_string($link,$updatebill);

if (strtotime(date('Y-m-d')) > strtotime($duedate))
{
$sql_update = "UPDATE `registration` SET `Current_Bill`= '".$updatebill ."' WHERE `Reg_id` = $regid";

}

要检查页面中的错误,请使用

ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);

并阻止您通过sql injection查询

关于php - 多次更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32096637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com