好的,这是我的代码:
$select_status = 0;
$select_status = "<select name='status'>\n";
$select_status .= "<option value=''>SELECT ONE</option>\n";
$sdataset = mysql_query("SELECT id, name FROM phponly_category") or die(mysql_error());
while($srow=mysql_fetch_assoc($sdataset)) {
echo implode(", ", $srow);
echo "<br />";
$select_status .= "<option value='".$srow['name']."'";
$select_status .= ">".$srow['name']."</option>\n";
} // end while loop
echo "out of the loop";
$select_status .= "</select>\n";
// now insert the <select> list control into the page
echo $select_status;
代码工作正常,直到最后一行中断。我无法打印 echo $select_status。 我试图通过打印每一行来查看 SQL 查询结果发生了什么,但那里的一切看起来都很好。出于某种原因,在最后一行 while 循环 中断,甚至 while 循环 之后的代码也没有执行。
最佳答案
不要在 while 测试中执行 or die(mysql_error())
部分...之前执行。
if($sdataset==false) {
die(mysql_error());
}
while($srow=mysql_fetch_array($sdataset)) {
$select_status .= "<option value='".$srow['name']."'".">".$srow['name']."</option>\n";
} // end while loop
关于php - 使用 while 时 PHP 中的 MySql_fetch_array() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11770426/