无法执行else语句[重复]

This question is an exact duplicate of:

<?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";
    }



?>

Above is my php code and this code will be used to interact with Android. Although, I have entered everything correctly, it always echo failed. I am 100% sure my database and tables and everything is working perfectly fine. Is there any mistake in this code ? It will never echo success when everything is correctly entered.

</div>

The mysqli_num_rows() returns false on error, 0 is interpreted by php as a false value, please use strict comparison (===) if you want to test if $row is indeed 0.

Also, you might want to use mysqli_error in the same block you echoes "failed" to see what happens.