我想将变量与表格中的列进行比较,这样如果条件合适,则可以执行查询。
这是我的PHP代码,我应该如何更改它?
$money_to_send = $_POST["money_to_send "];
$num_ban = $_POST["num_ban"];
if ($money_to_send < solde_ban){
$statement = "UPDATE ban SET solde_ban = (solde_ban - '$money_to_send') where num_ban = '$num_ban'";
mysqli_query($con, $statement) or die (mysqli_error($con));
$response = array();
$response["success"] = true;
else {$response = array();
$response["success"] = true;}
echo json_encode($response);
如果有人可以帮助谢谢。
答案 0 :(得分:0)
每当if
语句似乎是&#34;总是评估为TRUE&#34;或者&#34;总是评估为FALSE&#34;,你应该看看你在其中使用的任何变量的表达式和值。
在这种情况下$money_to_send
&amp; solde_ban
。
看起来有些事情已经结束:
1)当您设置$money_to_send
的值时,您在键名$_POST["money_to_send "]
的末尾有一个空格所以,请检查以确保您在变量中获取值。设置后立即执行var_dump($money_to_send);
。尾随空格可能导致值设置为null
2)sold_ban
- 您需要设置此值!你还需要一个$
。 &#39;如果&#39;声明目前正在比较null
&lt; string,总是评估为true。
3)此外,您在}
声明中错过了结束if
工作代码可能如下所示:
$money_to_send = $_POST["money_to_send"];
$solde_ban = 555; //some value..!
$num_ban = $_POST["num_ban"];
if ($money_to_send < $solde_ban){
$statement = "UPDATE ban SET solde_ban = (solde_ban - '$money_to_send') where num_ban = '$num_ban'";
mysqli_query($con, $statement) or die (mysqli_error($con));
$response = array();
$response["success"] = true;
}
else {
$response = array();
$response["success"] = true;
}
echo json_encode($response);