【发布时间】:2020-12-17 16:02:27
【问题描述】:
我正在编写一个 PHP 脚本
-
连接到数据库
-
获取数组中的所有订单。 ($结果)
-
我想遍历数组并获取所有说“userName”的内容
问题是,使用下面的代码,我只能获取数组中每个“userName”的第一个字符。我想要一个包含所有“userName”的数组。
<?php
$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'password';
$dbname = 'dbname';
//Create database connection
$dblink = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
$sql = "select * from ordertest";
$retval = mysqli_query($dblink, $sql) or die(mysqli_error($dblink));
$result = mysqli_fetch_array($retval, MYSQLI_ASSOC);
if (mysqli_num_rows($retval) > 0) {
$arr = json_decode($result, true);
foreach ($result as $key => $value) {
echo $value["userName"];
}
} else {
echo $sql;
}
【问题讨论】:
-
嗯,你已经得到了相当多的代码。第一个提示:
$result是一个对象,而不是要解码的 json 字符串。 -
在代码中使用
die(mysqli_error($conn));是一个非常糟糕的主意,因为它可能会泄露敏感信息。更多解释见这篇文章:mysqli or die, does it have to die?