首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将MySQL行转换为单独的数组

问将MySQL行转换为单独的数组
EN

Stack Overflow用户
提问于 2019-12-15 17:26:53
回答 3查看 114关注 0票数 0

我需要做的是从我的数据库中收集每一行,并将每一行放到自己的数组中。

我想类似于$row1 (例如$rowrow号码),我试过这样做

代码语言:javascript
复制
$query = "SELECT * FROM `table`;";

$result = mysqli_query($link, $query);

$Array = array();

$index = 0;

while($row = mysqli_fetch_assoc($result)) {

    $Array[$index] = $row;
    $index++;
}

echo $row[1][1];

但回声似乎根本不起作用,我也不知道哪里出了问题?我试着修了大约两个小时,终于放弃了

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-12-15 17:57:16

在您的示例中,由于您使用的是mysqli_fetch_assoc(),它将遍历表字段的所有行,如果将变量$row放在while循环中,则变量$row将具有与当前行相关联的数组。如果希望在while循环之外访问该数组,可以使用上面创建另一个数组的方法。您仍然需要按名称引用该字段,但在本例中:

代码语言:javascript
复制
<?php 
$query = "SELECT * FROM `table`";
$result = mysqli_query($link, $query);
$Array = array();
?>
<pre>
<?php   
while($row = mysqli_fetch_assoc($result)) {
    $Array[] = $row;
}
print_r($Array[1]['your_field']);
?>
</pre> 
票数 0
EN

Stack Overflow用户

发布于 2019-12-15 18:06:02

其他人已经说过,如果使用mysqli_fetch_assoc(),您将得到一个关联数组(按列名索引)。

如果使用行($result)或使用(数字),则可以获得整数索引数组。

您还可以简化代码,这样如果使用(数字),就不必编写自己的while循环。该函数返回数组,就像您描述的那样。

票数 0
EN

Stack Overflow用户

发布于 2019-12-15 18:06:24

您可以简单地使用fetch_all()。例如:

代码语言:javascript
复制
<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = new mysqli('localhost', 'username', 'password', 'databaseName');
$link->set_charset('utf8mb4'); // always set the charset

$query = "SELECT * FROM `table` ";
$result = $link->query($query); // If variables are involved you must use prepare/bind_param/execute

$matrixOfRowsAndCols = $result->fetch_all();

echo $matrixOfRowsAndCols[1][1];

默认的提取样式是数字数组,因此您将得到一个数值列索引以及数字行索引。不需要任何循环。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59346355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档