在PHP中将变量与SQL列进行比较

时间:2016-05-18 01:18:55

标签: php android mysql json

我想将变量与表格中的列进行比较,这样如果条件合适,则可以执行查询。
这是我的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);

如果有人可以帮助谢谢。

1 个答案:

答案 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);