如何从SQL / PHP中的INT中检索数据库中的数据?

时间:2013-03-13 20:44:59

标签: php sql

我正在尝试为学校项目创建一个虚构的ATM,但我仍然坚持不懈 一切正常,但我可以从我的帐户中获得比我更多的钱。

例如:
    我在数据库中有1300欧元,我输入1400欧元我的系统很高兴地将我的余额从1300更新到-100。

这正是我不想发生的事情。我的代码没有看起来像这样:

if (( /* i have no clue what comes here */ -$bedrag)>0)   // This should become something like: IF "value from database" > "amount"   (bedrag=amount btw)
                {
                echo "Het pinnen is gelukt!"; 
                $pinnen= "UPDATE rekeningen SET Saldo= Saldo - '$bedrag' WHERE Rekeningnr ='$nummer'";
                mysql_query($pinnen);
                }

3 个答案:

答案 0 :(得分:0)

我认为您要添加,而不是减去UPDATE中的金额:

UPDATE rekeningen SET Saldo= Saldo + '$bedrag' WHERE Rekeningnr ='$nummer'
                                   ^

然后,您可以使用负值进行提款。

答案 1 :(得分:0)

你应该处理这个应用程序端。查询页面加载所需的信息,并将值保存在sessionStorage中:

window.onload = function() {
    sessionStorage.saldoval = "<?php $return['Saldo'] ?>";
}

然后在提交之前使用Javascript验证它。

var saldo = document.getElementById('SaldoInput');

if(saldo.value > sessionStorage.saldoval){
    // do something to tell the user they're naughty
    return false;
}

您不应该依赖数据库来执行此类验证。

答案 2 :(得分:0)

假设你有一个变量,比如$current_balance,它在操作之前存储了帐户的余额,你可以这样:

if ($bedrag > $current_balance) {
 echo "You don't have enough money, sir!";
}
else {
 echo "Het pinnen is gelukt!"; 
 $pinnen= "UPDATE rekeningen SET Saldo= Saldo - '$bedrag' WHERE Rekeningnr ='$nummer'";
 mysql_query($pinnen);
}

此外,最好在表格的Saldo字段上设置检查约束以避免负值。只是说。

相关问题