为什么MySQL Query会跳过空值?如何防止MySQL跳过NULL值?

时间:2014-03-20 08:45:01

标签: php arrays

我想知道为什么MySQL Query在NULL或Zero(整数大小写)中的某些值时会提供不同数量的列。

  

例如,我已经和#34; 0"某些列中的整数(不是sting - 没有引号)。当我进行查询时,我想显示" 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

案例2(有一些值到期)

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

1 个答案:

答案 0 :(得分:4)

在内循环中使用foreach

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

foreach循环将迭代整个$row数组,而不管可能评估为false的值。