在没有while语句php的情况下返回单个查询中的所有数据

时间:2012-01-29 19:17:12

标签: php mysql

如何获取单个数组中的所有数据 不使用while语句。 这里有一些代码,但它不能正常工作..  关于整个查询的任何想法都会导致sigle assoc数组..任何想法??

$data=array();
$sql = "SELECT `Name`, `Title`, `Version`, `Date`, `Cover`, `Content` FROM dict";
$result=mysql_query($sql);

while($data[]=mysql_fetch_assoc($result))
{
$data[]=mysql_fetch_assoc($result);
}
print_r($data);

3 个答案:

答案 0 :(得分:2)

您可以将其包装到自己的函数中(并更正错误),这样您就不会再错误输入错误:

mysql_fetch_assoc_all($result)
{
    $data = array();
    while  ($row = mysql_fetch_assoc($result))
    {
        $data[] = $row;
    }
    return $data;
}

用法:

$sql = "SELECT `Name`, `Title`, `Version`, `Date`, `Cover`, `Content` FROM dict";
$result = mysql_query($sql);
$data = mysql_fetch_assoc_all($result);

注意$result必须是有效的结果。

答案 1 :(得分:0)

它不起作用的原因是你如何进行循环。

while($row = mysql_fetch_assoc($result))
{
    $data[] = $row;
}

然后在$data中有一组关联数组。

我不知道任何“单线”解决方案。虽然你可以把所有这些都包含在hakre建议的函数中。

答案 2 :(得分:0)

有点晚了,但"单行"可能是:

while($data[] = mysql_fetch_assoc($result));