我想知道为什么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
答案 0 :(得分:4)
在内循环中使用foreach
:
while ($row = mysqli_fetch_assoc($query)){
foreach($row as $key => $value) {
echo "$key --> $value <br />";
}
echo "<br />";
}
foreach
循环将迭代整个$row
数组,而不管可能评估为false的值。