无法检测到空结果

时间:2016-05-20 19:03:44

标签: php

取决于是否找到任何结果,我想将值设置为$case_num并将其存储在数组中,以使用AJAX传回json来电。我正在使用的代码按预期工作,如果找到一个条目,但如果没有结果,传回的值就是null。

$sql = "SELECT * FROM cases WHERE name LIKE '%$serial%' 
        AND DATE(date_entered) = CURDATE()";

$result_case = mysqli_query($mysqli,$sql) or die(mysqli_error($mysqli));
$row = mysqli_fetch_array($result_case);

 if(!empty($result_case)){
      $case_id = $row['id'];
      $case_num = $row['name'];
    }else{
      $case_num = 'not found';
 }

$output_array = array(
    'source' => $source,
    'case_found' => $case_num
);

echo json_encode($output_array);

2 个答案:

答案 0 :(得分:2)

您应该更改if条件

if($row)

请注意,如果没有要提取的行,mysqli_fetch_array将返回NULL,并且mysqli_query会根据查询是否成功返回布尔值(如生成的无错误)< / p>

答案 1 :(得分:1)

$ result_case是空的,如果没有结果,则值为false,您可以尝试使用like(isset($ row))或$ result_case!= false