php - 获取结果集作为数组

标签 php mysql arrays resultset

我有一些这样的功能:

function doLegends($in_result)
{
    global $legend_table;
    while ($temp_row = mysqli_fetch_row($in_result))
    {
        $legend_table[] = $temp_row;
    }
}

他们将每一行逐一添加到 PHP 数组中。有没有一种方法可以一步将结果集保存为数组,而无需单独获取每一行?另外,有性能优势吗?谢谢。

[编辑]

这是查询。

SELECT  l.legend_group, l.legend_description
FROM    legends as l
WHERE   l.record_id = in_record_id;

record_id 不是唯一的也不是主键,因此它返回多行。

[编辑]

这是正确的语法吗?

function doLegends($in_result)
{
    global $legend_table;
    $legend_table = mysqli_fetch_array($in_result);
}

我在最后一行收到语法错误,意外的'}'错误。

[编辑]

好的,语法错误是误报。但是,现在 mysqli_fetch_array 函数只返回预期结果的一个子集。例如,$legend_table 应该有 6 行,但函数只返回 2 行。 SQL ID 中存在间隙。由于删除了一些行,一些数字被跳过。这能有效果吗?

[编辑]

这是我的 SQL 表的内容:

legend_id,record_id,legend_group,legend_description
896,180,1,"Unit Actions"
897,180,2,Lenses
898,180,4,Multiplayer
899,180,5,Camera
900,180,6,"Game Screens"
901,180,8,"Game Commands"

但是当我使用这个计算行数时:

error_log("woot " . count($legend_table));

错误日志只显示 woot 4 而不是 woot 6

最佳答案

您可以使用 mysqli_fetch_array 获取数组格式的结果或使用 mysqli_fetch_assoc 获取关联数组格式的结果

关于php - 获取结果集作为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41501113/

相关文章:

php - 使用 PHP 的 XMLHttpRequest 对象,responseText 是正确的数组,但抛出 500 错误。无法识别错误原因

javascript - 使用 php 和 mysql 表单上的多个搜索字段

php - 识别 Midp 2.0 与 Midp 2.1 与 Android

php - 无法在 tcpdf 中创建多个多边形

JavaScript - 使用值作为元素名称推送 JSON 对象

php - GET 命令给出两种输出,为什么?

php - 根据存储的 mysql 值选择 Select Option

php - INSERT IGNORE 上的主键自动递增

arrays - 将带有数组的 MongoDB 文档集合分层扁平化为文档

c# - C#中的二维数组切片