为什么在PHP中执行SQL查询时有时没有行

为什么在PHP中执行SQL查询时有时没有行,php,mysql,rows,Php,Mysql,Rows,我有一个充满数据的SQL表。我使用以下代码提取列值并将它们放入数组中。这与我执行var_dump(array)时一样,可以打印出数组中的元素,它们看起来是正确的。然而,有时我只得到空元素。这基本上意味着没有获得列值。有人知道为什么我有时在满是记录的情况下没有结果吗 $names = array(); $dob = array(); mysql_connect("localhost", "xxx", "xxx")or die("Error"); mysql_select_db("details")

我有一个充满数据的SQL表。我使用以下代码提取列值并将它们放入数组中。这与我执行
var_dump(array)
时一样,可以打印出数组中的元素,它们看起来是正确的。然而,有时我只得到空元素。这基本上意味着没有获得列值。有人知道为什么我有时在满是记录的情况下没有结果吗

$names = array();
$dob = array();
mysql_connect("localhost", "xxx", "xxx")or die("Error");
mysql_select_db("details")or die("Error");
$query="SELECT * FROM members";
$result=mysql_query($query);
while ($row = mysql_fetch_assoc($result) ){
$names[] = $row["name"];
$dob[] = $row["dob"];
}
var_dump($names);
var_dump($dob);

有时
。。。。。有时那是什么时候?它发生在什么场合?有时我指的是随机场合,我运行脚本。例如,三分之一的情况下,此页面仅包含此代码或其他代码?这是if语句下的代码(如果按下按钮)。所以这是唯一相关的代码。我的猜测是,在这段代码之前发生了一些致命错误,但由于错误报告可能被抑制,所以它只能为空。不过这是一个非常疯狂的猜测。