在单个查询中返回所有数据,而不返回 while 语句 php


Returning all data in single query without while statement php

如何在单个数组中获取所有数据不使用 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);

你可以把它包装成它自己的函数(并纠正错误(,这样你就不会再错误地输入它了:

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必须是有效的结果。

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

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

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

我不知道任何"单行"解决方案。尽管您当然可以按照 hakre 的建议将所有这些包装在一个函数中。

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

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