PHP循环意外停止

时间:2014-09-15 15:14:33

标签: php mysql for-loop

我在MYSQL中有一个表(table3),有99个文本字段(field1,filed2,...,field99)。我想计算每个字段的非空值,所以我写了一个带有for循环的简单php脚本,如下所示:

for($i = 1; $i <= 99; $i++)
{
  $sqlstm = "SELECT COUNT(field$i) FROM table3 WHERE field$i IS NOT NULL AND field$i <> '';";
  $r = @mysqli_query($dbc, $sqlstm);
  if($r)
  {
    while($row = @mysqli_fetch_array($r)) 
    {   
        echo "<p>$row[0]</p>\n"; 
    }
  }
  else
  {
    echo "field $i error: " . mysqli_error($dbc);
  }
}

但是在显示四个值(field1到filed4)并且没有错误消息后循环停止。我确实拥有表格3中所有99个字段和数据,我可以手动为任何字段运行查询。这可能是由于浏览器超时? 有人能帮我吗?感谢。

1 个答案:

答案 0 :(得分:-4)

 $sqlstm = "SELECT COUNT(field$i) FROM table3

你在这里选择列,你的表有99行,但显然只有4列

你最好做的是

$sqlstm = "SELECT * FROM table3 WHERE (column name) IS NOT NULL";
$count = 0
for($sqlstm as $one) {
    $count = $count + 1;
}
echo($count);

或沿着这些方向的东西