什么会导致我的MySQL查询在两个结果后挂起?

Ale*_*Mcp 0 php mysql

我有一个简单的查询,我不能在我的页面上打印出来的生活:

$results = mysql_query("SELECT * FROM andyasks ORDER BY date");
$test = mysql_fetch_array($results, MYSQL_BOTH);
foreach ($test as $row){
    print($row[questions]);
}
Run Code Online (Sandbox Code Playgroud)

这输出的是(不可预测的,在我看来)每个表字段的第一个字母,仅仅是前两行.所以75行表x 5列应该显示75个"问题"排队,但它显示"00WWFFAA00",这是前两行每个单元格的第一个字母.这是怎么回事?

Óla*_*age 5

试试这个.

$results = mysql_query("SELECT * FROM andyasks ORDER BY date");

while($row = mysql_fetch_array($results))
{
    print($row["questions"]);
}
Run Code Online (Sandbox Code Playgroud)

原因是你只需要一次获取

$test = mysql_fetch_array($results, MYSQL_BOTH);
Run Code Online (Sandbox Code Playgroud)

这就是为什么你需要在while循环中使用它.它获取一行,while循环将在没有更多行时终止(因为它在没有更多行时返回false).