当我单击按钮时,我想更新数据库

Posted

技术标签:

【中文标题】当我单击按钮时,我想更新数据库【英文标题】:When I click the button, I want to update the database 【发布时间】:2022-01-19 22:38:21 【问题描述】:

我想创建一个通过按下按钮来更新数据库的进程。但是,当您像下面的代码那样编写它时,当您单击按钮时,它会转到admin_cp.php 页面。页面冻结,数据库的内容保持不变。我的代码有什么问题?

admincharge.php

<form action="admin_cp.php" method="POST" onsubmit="return confirm('Charging handle?');"> 
    <input type="submit" neme="charge"/>
</form>

admin_cp.php

include('Aconfig.php');
if (isset($_POST["charge"])) 
    $query = "UPDATE userinfo
        INNER JOIN chargeINFO ON (userinfo.u_id = chargeINFO.u_id)
        SET userinfo.u_charged = chargeINFO.u_chargewait;";
    $result = mysqli_query($conn, $query);
    if ($result) 
        echo "<script>alert('Charged complete.')</script>";
        echo "<meta http-equiv='refresh' content='0;url=admincharge.php'>";
     else 
        echo "<script>alert('fail')</script>";
        echo "<meta http-equiv='refresh' content='0;url=admincharge.php'>";
    

【问题讨论】:

“页面冻结”是什么意思?什么都没有显示?如在页面不会停止加载? PHP 并不是真正会“冻结”的东西,因为它通常最终会超时。 您尝试过哪些调试?如果您的初始测试不正确,则不会发生任何事情,也不会显示任何内容 - 这听起来像您所看到的,对吧?您是否检查过该测试是否真的返回真实?这是错误的,因为neme="charge" 是一个错字。我正在投票关闭 bcs 错字。 【参考方案1】:

你检查过这部分吗:

$query = "UPDATE userinfo
        INNER JOIN chargeINFO ON (userinfo.u_id = chargeINFO.u_id)
        SET userinfo.u_charged = chargeINFO.u_chargewait;";

在 .unchargewait;"; 的末尾删除;所以看起来像这样:

$query = "UPDATE userinfo
        INNER JOIN chargeINFO ON (userinfo.u_id = chargeINFO.u_id)
        SET userinfo.u_charged = chargeINFO.u_chargewait";

【讨论】:

以上是关于当我单击按钮时,我想更新数据库的主要内容,如果未能解决你的问题,请参考以下文章

不使用按钮单击更新串行数据

如何在按钮单击时更新datagridview中的记录?

使用按钮单击更新 SQlite 数据库中的一行 [重复]

单击收藏夹按钮时更新列表视图

Laravel:单击按钮时更新列的值

使用提交按钮更新数据库数据