我有这个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);
}
我以前使用过这个功能,它可以工作并获得所需的数据
答案 0 :(得分:0)
结果必须使用JSON FORMAT进行编码。您可以使用de json_encode函数。
实施例: $ this-> response(json_encode($ data),200);
答案 1 :(得分:0)
取决于您的JSON编码器,但您的SQL查询可能需要结果列的别名,例如
SELECT games.id AS id, games.title AS title, games.developer AS developer, reviews.NoReviews AS NoReviews