Результаты усечения MySQL, приводящие к предупреждению: array_multisort (): размеры массивов несовместимы - PullRequest
0 голосов
/ 20 мая 2011

У меня есть два массива.Каждый из них извлекается из MySQL через следующее:

$query ="SELECT country,";
$query.="GROUP_CONCAT(report) AS reports, ";
$query.="GROUP_CONCAT(topic) AS topics, ";
$query.="FROM reports GROUP BY country";

Итак, он дает мне две строки, подобные этой:

   reports[$i] = 2011-05-11 A,2011-05-11 B,2011-05-11 C
   topics[$i]  = A,B,C

И, однако, он работает нормально, когдастрока сообщений становится слишком длинной, MySQL просто обрезает ее, а затем я выбрасываю

Warning: array_multisort(): Array sizes are inconsistent

, потому что я взрываю строку вниз по строке.

Очевидно, это разрушает мою программу.Но я не знаю, что делать, я как будто в кризисе, потому что мой начальник сказал, что он заставит всю компанию начать использовать его.Как я могу заставить MySQL не усекать результаты?

Ответы [ 2 ]

2 голосов
/ 20 мая 2011

Установите group_concat_max_len на более высокое значение.Лично я бы переписал код, чтобы не использовать функцию group_concat, а вместо этого получить все записи.

1 голос
/ 20 мая 2011

group_concat_max_len устанавливается в файле конфигурации mysql, кстати. Вам нужно будет перезапустить MySQL позже.

...