在使用foreach和mysqli_fetch_all时请求正确的语法

时间:2018-11-13 22:31:05

标签: mysqli foreach fetchall

作为另一个问题的一部分,我需要使用mysqli_fetch_all(被告知创建一个数组)。我以前从未使用过它,也无法在Internet上找到我能理解的解决方案。我试图让它列出我使用mysqli_fetch_all创建的数组的键和值。一旦列出它们,便可以访问它们并将它们用作更复杂的代码的一部分。我可以打印数组,但不能获取foreach中的键或值,因此除非存在两种不同类型的数组,否则这似乎很棘手。

.sln

这是输出:

Array([0] => Array([countryid4city] => 44 [cityname] =>切尔西)[1] => Array([countryid4city] => 44 [cityname] => Clapham)[2] =>数组([countryid4city] => 46 [cityname] =>Lidingö)[3] =>数组([countryid4city] => 44 [cityname] =>伦敦)[4] =>数组([countryid4city] => 1 [cityname ] =>纽约)[5] =>数组([countryid4city] => 1 [cityname] =>旧金山)[6] =>数组([countryid4city] => 46 [cityname] => Stockholm))

键=0。值=数组。

键=1。值=数组。

键=2。值=数组。

键=3。值=数组。

键=4。值=数组。

键=5。值=数组。

键=6。值=数组。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

mysqli_fetch_all返回一个数组数组。您需要另一个循环来迭代2维。

$q5 = 'SELECT * FROM cities ORDER BY cityname';
$mytable5 = mysqli_query($conned, $q5);
$results = mysqli_fetch_all($mytable5, MYSQLI_ASSOC);
echo "<br><br>";
foreach ($results as $row5) {
    foreach ($row5 as $key => $value) {
        print "Key = " . $key . ". Value = " . $value . ".<br><br>";
    }
}