mysql group_concat в JSON в ZF — результаты повторяют обратную обратную косую черту

Подключение приложения к стеку LAMP ZF 1.12 с MySQL 5.6.14 с PHP 5.4.24

У меня длинный запрос, который состоит в основном из однострочных результатов с несколькими многострочными
следовательно я использую group_concat для многорядных результатов.

Мне нужны результаты в формате JSON — поэтому я использую следующий SQL-запрос
выводить формат JSON из MySQL напрямую — используя $select = $this->_db->quoteInto("SELECT...")

Остальная часть запроса / результатов в порядке, поэтому я перечислю только проблемную строку:

GROUP_CONCAT(DISTINCT CONCAT('{name: \"',name,'\", age:\"',age,'\"}') ORDER BY age ASC SEPARATOR '|') AS person_details,

Когда я взрываю (используя мой разделитель ‘|’), результаты я получаю так:

"person_details": [
"{name: \"Fred\", age:\"17\"}",
"{name: \"James\", age:\"23\"}"],

…с повторяющимися символами в результате …

Если я не включаю escape-символы ‘\’, запрос не работает

Я пробовал :

  • идентичный запрос без обратной косой черты в phpMyAdmin, и он работает нормально (т.е. результаты отображаются в правильном формате JSON без повторения включенных управляющих символов ‘\’)
  • тестирование обоих "$select = $this->_db->select()" а также "$select = $this->_db->quoteInto("форматы для запроса в ZF — оба дают одинаковый результат

0

Решение

Вы пытались использовать «вместо»?

GROUP_CONCAT(DISTINCT CONCAT("{name: \"",name,"\", age:\"",age,"\"}") ORDER BY age ASC SEPARATOR "|") AS person_details,
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]