Когда запрос возвращает одну строку и я конвертирую ее в JSON, я получаю:
Дело 1:
{"comment":[{"response":"I totally agree"}]}
Однако, когда запрос возвращает более одной строки и преобразуется в JSON, я получаю:
Случай 2:
{"comment":[{"response":"I totally agree"},{"response":"You must be kidding"}]}
Предполагая, что мне просто нужна первая строка, как я могу преобразовать JSON в случае 2 в форму случая 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));
}






Пытаться:
$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