php - 没有返回 JSON 数据

标签 php mysql sql json

我有这个 php GET 函数

function genre_get($genre) {

$this->load->database();
    $sql = 'SELECT games.id, games.title, games.developer, reviews.NoReviews ';
    $sql .= 'FROM games INNER JOIN ';
$sql .= '(SELECT ean, COUNT(*) as NoReviews ';
$sql .= 'FROM reviews GROUP BY ean) reviews ';
$sql .= 'ON games.ean = reviews.ean ';
$sql .= 'WHERE games.genre= "'.$genre.'";';
    $query = $this->db->query($sql);
    $data = $query->result();
$info->games=$data;
$this->response($data, 200);
 }

虽然没有错误,但它没有输出任何 JSON 数据。在 mysql 命令提示符中使用 sql 语法确实会生成一个表,但是在 apigee 控制台上使用它不会返回任何内容。

我知道上面的 SQL 确实可以使用 MYSQL 运行并且它确实返回一个表

 function genre_get($genre) {
     $this->load->database();
        $sql = 'SELECT * FROM games ';
        $sql .= 'WHERE genre = "'.$genre.'";';
        $query = $this->db->query($sql);
        $data = $query->result();
    $info->games=$data;
        $this->response($data, 200);
     }

我之前使用过这个函数,它有效并获取了所需的数据

最佳答案

结果必须使用 JSON 格式进行编码。您可以使用 json_encode 函数。

示例: $this->response(json_encode($data), 200);

引用:http://www.php.net/manual/en/function.json-encode.php

关于php - 没有返回 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21102729/

相关文章:

php - 选择当前小时的时间戳

php - 如何使@PrePersist 注释的方法在@Timestampable 设置属性之前运行?

php - 使用 PHP 生成包含大量行的 JSON

mysql - 如何从数据库中删除重复项?

python - 创建 PostgreSQL 数据库时遇到问题?

php - sql中的第2组AND语句

mysql - pip 在亚马逊 Linux 上安装 mysqlclient

php - laravel 中的 whereBetween 是包容性的吗?

sql - 在 T-SQL 中转换字符串 (YYYMMDD)

C# 对象空检查