我有这个 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);
关于php - 没有返回 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21102729/