为什么MySQL查询跳过空值?如何防止MySQL跳过NULL值


Why does MySQL Query skips null value? How to prevent MySQL skipping the NULL value?

我想知道为什么MySQL查询服务不同数量的列时,一些值在NULL或零(整数情况下)。

例如,在某些列中,我有一个"0"整数(不是字符串-没有引号)。当我进行查询时,我想要显示"0"整数。但是这一列被跳过了。

它不能返回只是什么,而不是跳过NULL值?我们如何克服这个错误?

  $sql = "SELECT * FROM `2014-02-20`";
  $query = mysqli_query($con, $sql);
  $row = mysqli_fetch_assoc($query);
 while ($row = mysqli_fetch_assoc($query)){
    while ($this_item = current($row)) {
      echo key($row)."-->".$row[key($row)]."<br />";
      next($row);
    }
    echo "<br />";
  }

?>

我看到不同的结果,如:情形1(对应列为0)

qty-->1
amount-->390

Case 2 (value in due)

activity-->sales
qty-->1
amount-->25500

在内循环中使用foreach:

while ($row = mysqli_fetch_assoc($query)){
    foreach($row as $key => $value) {
        echo "$key --> $value <br />";
    }
    echo "<br />";
}

foreach循环将遍历整个$row数组,无论其值是否为false