я удалил этот комментарий, потому что это не единственная причина. а возможно это потому что не указана или неправильно указана кодировка соединения
вообще, вопрос "почему да от чего" не имеет практического смысла.
надо просто сделать один раз правильно и все будет работать
пожалуйста, не привлекайте экспертов к скучным заданиям типа "напишите мне программу которая требует базовых навыков программирования и усидчивости". заранее спасибо.
phpMyAdmin всегда отображается в utf-8 и всегда сообщает базе что данные будут именно в этой кодировке. поэтому если бд настроена правильно, то туда просто не смогут попасть данные в неверной кодировке
Настроить кодировку на всех языках очень просто. В БД и браузере везде должна стоять UTF-8. Не в воображении, а в реальности:
- Таблица в бд должна создаваться с charset=utf8
- Соединение с бд в РНР должно задавать кодировку utf8 (с помощью специально предназначенной для этого функции)
- Веб-сервер при ответе должен отдавать заголовок Content-type с charset=UTF-8
Откройте для себя волшебное сочетание клавиш Ctrl-U, и тот факт, что пхп генерит не формочки в браузере, а HTML текст. Который можно прочитать и найти в нем ошибку. Или, если самостоятельно не получается, то хотя бы на тостер скопировать
OMFG, fetchAll. Других методов в pdostatement не нашлось? только двумерный массив тащить, чтобы получить единственную скалярную циферку?
ну и попробуй объяснить мне, зачем в этом запросе GROUP BY