当mysql查询返回null / no行时如何回显消息

时间:2017-01-25 01:04:27

标签: php mysql

$UserId = $_GET['UserId'];
        $UserData = $con->query("SELECT * FROM ElectionBlacklist WHERE UserId=".$UserId) or trigger_error($mysqli->error);
            while ($row = $UserData->fetch_array()) {
                if (is_null($row[UserId])) {
                    echo json_encode(array(
                        'UserId'    =>  'nil',
                        )
                    );
                } elseif ($row[UserId] == $UserId) {
                    echo json_encode(array(
                        'UserId'    =>  $row[UserId],
                        )
                    );
                } else {
                    echo json_encode(array(
                        'UserId'    =>  'nil',
                        )
                    );
                }
            }

我正在尝试返回UserID => nil如果查询没有返回任何内容,但是,当测试页面只是空白时意味着没有返回任何内容......

2 个答案:

答案 0 :(得分:0)

也许这样试试?不要发送您的查询

$UserId = $_GET['UserId'];
if ($_GET['UserId']) { 
  $UserData = $con->query("SELECT * FROM ElectionBlacklist WHERE   UserId=".$UserId) or trigger_error($mysqli->error);
  while ($row = $UserData->fetch_array()) {
    if (is_null($row[UserId])) {
      echo json_encode(array(
        'UserId'    =>  'nil',
      ));
    } elseif ($row[UserId] == $UserId) {
      echo json_encode(array(
        'UserId'    =>  $row[UserId],
      ));
    } else {
      echo json_encode(array(
        'UserId'    =>  'nil',
      ));
    }
  }
} else {
   echo json_encode(array('UserId' => 'nil'))
}

答案 1 :(得分:0)

然后您的代码没有进入while循环...

您必须先检查row var:

$UserData = $con->query("SELECT * FROM ElectionBlacklist WHERE UserId=".$UserId) or trigger_error($mysqli->error);

$row = $UserData->fetch_array();
if(empty($row))
{
    echo json_encode(array(
       'UserId'    =>  'nil',
    ));
}
else {
    do{
        if (is_null($row[UserId])) {
                echo json_encode(array(
                    'UserId'    =>  'nil',
                    )
                );
            } elseif ($row[UserId] == $UserId) {
                echo json_encode(array(
                    'UserId'    =>  $row[UserId],
                    )
                );
            } else {
                echo json_encode(array(
                    'UserId'    =>  'nil',
                    )
                );
            }
    } while($row = $UserData->fetch_array()) 
}