无法执行else语句

时间:2015-04-14 12:32:55

标签: php

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

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

    if(isset($_POST['smsCode']) && isset($_POST['userName'])){
        $smsCode = $_POST['smsCode'];
        $rocketName = mysqli_real_escape_string($db->getConnection(),$_POST["userName"]);
        $query_search = "SELECT * FROM confirmedrequest WHERE smsCode='".$smsCode."'";
        $query_exec = mysqli_query($db->getConnection(),$query_search) or die(mysqli_error($db->getConnection));
        $row = mysqli_num_rows($query_exec);


        if($row == 0){
            echo "failed";
        }else{
            echo "success";
            $sql_update = "UPDATE confirmedrequest SET jobTakenBy = '".$rocketName."' WHERE smsCode = '".$smsCode. "'";
            $sql_exec = mysqli_query($db->getConnection(),$sql_update) or die(mysqli_error($db->getConnection())); 
        }

    }else{
        echo "Empty code";
    }



?>

以上是我的PHP代码,此代码将用于与Android进行交互。虽然,我已正确输入所有内容,但始终为echo failed。我100%确定我的数据库和表格,一切都运行得很好。这段代码有什么错误吗?正确输入所有内容后,它永远不会echo success

1 个答案:

答案 0 :(得分:1)

mysqli_num_rows()在出错时返回false,0被php解释为false值,如果你想测试$ row是否为0,请使用严格比较(===)。

此外,您可能希望在回声相同的块中使用mysqli_error&#34;失败&#34;看看会发生什么。