首页 > 解决方案 > 从 JSONarray 获取值

问题描述

我正在编写一个 PHP 脚本

  1. 连接到数据库

  2. 获取数组中的所有订单。($结果)

  3. 我想通过数组并获取所有说“用户名”

问题是,使用下面的代码,我只能获取数组中每个“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;
}

标签: phparraysjsonsorting

解决方案


解决方案应该是下一个:

<?php

    $sql = "select * from ordertest";

    // retrieve query result from DB
    $retval = mysqli_query($dblink, $sql) or die(mysqli_error($dblink));
    
    // if result not empty
    if (mysqli_num_rows($retval) > 0) {

        // retrieve single row from $retval
        while ($result = mysqli_fetch_array($retval, MYSQLI_ASSOC)) {
            echo $result["userName"];
            echo "\n";
        }
    } else {
        echo $sql;
    }

看这里的例子:PHPize.online


推荐阅读