【问题标题】:MYSQL/PHP: Return one element of results array using JSONMYSQL/PHP:使用 JSON 返回结果数组的一个元素
【发布时间】:2019-11-02 18:26:24
【问题描述】:

当查询返回一行并将其转换为 JSON 时,我得到:

案例一:

{"comment":[{"response":"I totally agree"}]}

但是,当查询返回多行并转换为 JSON 时,我得到:

案例 2:

{"comment":[{"response":"I totally agree"},{"response":"You must be kidding"}]}

假设我只想要第一行,如何将案例 2 中的 JSON 转换为案例 1 的形式。很高兴使用 PHP 或在 MYSQL 查询中做一些事情。 创建 JSON 的查询和代码如下所示:

$sql = "SELECT response
FROM comments 
WHERE MATCH(comments) AGAINST('$query' IN NATURAL LANGUAGE MODE)";

while($row = mysqli_fetch_assoc($res)) {
    $return[] = $row;
}
echo json_encode(array('comment'=>$return));
}

【问题讨论】:

    标签: php mysql sql json multidimensional-array


    【解决方案1】:

    试试:

    $sql = "SELECT response
    FROM comments 
    WHERE MATCH(comments) AGAINST('$query' IN NATURAL LANGUAGE MODE)";
    
    echo json_encode(array('comment'=>mysql_fetch_assoc($res)));
    

    【讨论】:

    • 为澄清起见,mysql_fetch_assoc() 一次检索一行,因此调用一次只会获取第一行。此外,您应该使用 mysqli 而不是 mysql,因为 mysql 已被弃用:php.net/manual/en/book.mysqli.php
    猜你喜欢
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    • 2022-01-10
    相关资源
    最近更新 更多