3 回答
TA贡献1839条经验 获得超15个赞
在您的情况下,由于您正在使用mysqli_fetch_assoc()它将遍历表字段的所有行,并且$row如果您将其放入while循环中,该变量将具有与当前行关联的数组。如果您想在while循环之外访问它,您可以使用您在上面创建另一个数组的方法。在这种情况下,您仍然需要按名称引用该字段:
<?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>
TA贡献1788条经验 获得超4个赞
其他人已经说过,如果您使用mysqli_fetch_assoc()
.
如果您使用mysqli_fetch_row($result)或使用mysqli_fetch_array($result, MYSQLI_NUM) ,则可以获得整数索引数组。
如果您使用mysqli_fetch_all($result, MYSQLI_NUM) ,您还可以简化代码,这样您就不必编写自己的 while 循环。就像您描述的那样,该函数返回一个数组数组。
TA贡献1790条经验 获得超9个赞
您可以简单地使用fetch_all(). 例如:
<?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];
默认获取样式是数字数组,因此您将获得数字列索引以及数字行索引。不需要任何循环。
- 3 回答
- 0 关注
- 315 浏览
添加回答
举报