【问题标题】:how can i decrease my balance with PHP MySQL我怎样才能减少我与 PHP MySQL 的余额
【发布时间】:2021-08-16 11:25:42
【问题描述】:

所以我有 PHP-MySQL 项目的停车系统。有 2 张桌子,mahasiswa 和 dataparkirs。 mahasiswa 有 1 个字段名称“saldo”,表示用户停放车辆的余额。因此,当车辆停放时,表 mahasiswa 中的余额(名称​​为 'saldo')会不断减少 3000。

所以我不得不将 Saldo 的值填入 8000。如何编写公式来减少 Saldo 的余额不断减少 3000?

<?php
     
    require 'database.php';


    if ( !empty($_POST)) {
        
        // keep track post values
        ini_set('date.timezone', 'Asia/Jakarta');
        $no_kartu = $_POST['no_kartu'];
        $jam_keluar = date("Y-m-d H:i:s");
        $status = 'keluar';
        $saldo = $_POST['saldo'];
        $tarif = 3000;
        $total_bayar = $saldo - $tarif;

        $pdo = Database::connect();
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        
        $sql = "UPDATE dataparkirs SET jam_keluar = '$jam_keluar', status = '$status' WHERE no_kartu = $no_kartu ";
        $q = $pdo->prepare($sql);
        $q->execute(array($jam_keluar,$status));

        $sql = "UPDATE mahasiswa SET saldo = '$total_bayar' WHERE no_kartu = $no_kartu ";
        $q = $pdo->prepare($sql);
        $q->execute(array($total_bayar));
        Database::disconnect();
        header("Location: parkirmasuk.php");
    }

?>

【问题讨论】:

  • 请分享更多细节。例如,这段代码真的与rfidparking 相关吗?你对此的确切问题是什么?另外,请不要使用字符串连接来构建 SQL 查询
  • 了解 sql 注入以及准备和绑定/执行查询的重要性

标签: php mysql web


【解决方案1】:

这段代码需要调试。

首先检查$POST['saldo'] 的值,在这段代码中你不是从数据库中获取它,它可能是一个空值。

因此,对于

$total_bayar = $saldo - $tarif;

检查减去的值。这是$saldo 为0 和$tarif = 3000;(硬编码)的地方

因此将 $total_bayar 设为 -3​​000

注意:

您准备的陈述不正确。使用?:total_bayar 代替直接字符串中的变量。看看这里:https://www.php.net/manual/en/pdo.prepare.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多