Php при формировании массива из базы данных теряет столбцы
Есть у меня вот такой вот php-код (PDO запрос к базе данных)
$stm = $dbh->query("
SELECT abon_types.*, lesson_types.title, parts_of_day.title
FROM `abon_types`, `lesson_types`, `parts_of_day`
WHERE abon_types.lesson_type=lesson_types.id AND abon_types.part_of_day=parts_of_day.id
ORDER BY part_of_day, lenth");
$abons_for_sale = $stm->fetchAll();
В phpMyAdmin результат выполнения SELECTа из этого кода выводится без нареканий.
А вот в массиве данных, формируемом php (массив $abons_for_sale), теряется предпоследняя колонка!
Всегда тестирую все SELECTы в phpMyAdmin, прежде чем использовать их в PDO-инструкциях. Всякое бывало. Но такой разницы в результате никогда не видел. phpMyAdmin формирует массив из девяти колонок, а php - только из 8!
Очевидно, что это как-то связано с тем, что последние два поля в выборке имеют одинаковые названия внутри своих таблиц.
Можно ли как-то обойти эту инвалидность без придумывания оригинальных названий всем колонкам?
Ответы (1)
Можно добавить алиасы в запросе:
SELECT abon_types.*, lesson_types.title AS lesson_types_title, ...
ivashkevich 27.09.2020 в 17:01
Добавить новый ответ