php - 如何对多行结果的 json 进行编码?

标签 php mysql arrays json

我尝试将我的结果编码为 json,但它实际上不起作用。当查询有多个结果时,它不起作用。当结果只有一行时,一切正常。

if (isset($_REQUEST['query'])) {
    $query = $_REQUEST['query'];
    $sql = mysqli_query ($db, "SELECT a, b FROM table WHERE a LIKE '%{$query}%' OR b LIKE '%{$query}%'");
    $array = array();
    while ($row = mysqli_fetch_assoc($sql)) {
        $array[] = array (
            'label' => $row['a'].', '.$row['b'],
            'value' => $row['a'],
        );
    }
    //RETURN JSON ARRAY
    echo json_encode ($array); 
}  

最佳答案

试试这段代码

if (isset($_REQUEST['query'])) {
    $query = $_REQUEST['query'];
    $sql = mysqli_query ($db, "SELECT a, b FROM table WHERE a LIKE '%{$query}%' OR b LIKE '%{$query}%'");
    $array = array();
    $i = 0;
    while ($row = mysqli_fetch_assoc($sql)) {
        $array[$i] = array (
            'label' => $row['a'].', '.$row['b'],
            'value' => $row['a'],
        );
        $i++;
    }
    //RETURN JSON ARRAY
    echo json_encode ($array); 
}

关于php - 如何对多行结果的 json 进行编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55760010/

相关文章:

C# 加密 (AesManaged) 与 PHP 等效

php - memcaching php 资源对象

java - 使用Java插入mySql

javascript - 重复函数 JavaScript

c# - 如何在 C# 中将摄像头流数据存储在数组中

php - 如何在jquery对话框中显示php提交表单的结果

php - 0 值而不是 MySQL 列中的 NULL

php - 为什么 $_GET = index.php

mysql - 动态一对多数据库设计 -

java - SimpleAdapter 不在 GUI 上显示数据