Android - PHP if if不会停止

时间:2015-06-11 21:48:05

标签: php android mysql

我目前正在尝试使用Android中的PHP和MySQL更新数据库。

这是我的PHP代码:

<?php

    $slot_name = $_GET['slot_name'];

    // include db connect class
    require_once __DIR__ . '/db_connect.php';

    // connecting to db
    $db = new DB_CONNECT();

    // MySQL select row with matched slotname
    $checkSQL = mysqli_query($db->connect(), "SELECT AVAILABLE_SLOT FROM parking_slot WHERE SLOT_NAME = '$slot_name'");
    $checkResult = mysqli_fetch_object($checkSQL);
    $valueSlot = $result->AVAILABLE_SLOT;

    // MySQL update row with matched slotname
    $updateRow = mysqli_query($db->connect(), "UPDATE parking_slot SET available_slot = available_slot - 1 WHERE slot_name = '$slot_name'");

    $checkFull = "Parking Slot is full! You are not parked!";

    if($valueSlot < 1)
    {
        // Showing that the parking slot is full
        echo $checkFull;
    }
    else
    {
        echo "a";
        $updateRow;
    }

?>

当我的数据库中$valueSlot的值AVAILABLE_SLOT小于1时,else内的函数仍然会被执行。因此ifelse中的每个函数都可以在valueSlot小于1时起作用,这意味着我的AVAILABLE_SLOT得到了负值,这是不合逻辑的.-

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

唯一需要解决的问题是: -

您正在未定义的变量<paper-drawer-panel force-narrow> 上调用AVAILABLE_SLOT;,该变量未在任何地方定义。

所以: -

$result

应该是

$valueSlot = $result->AVAILABLE_SLOT; 

另外正如castis所提到的,你的$valueSlot = $checkResult->AVAILABLE_SLOT; 在被分配时会被触发,所以基本上你每次调用那个php文件时都会调用它。