Я смотрел на результаты соединения mysql в phpmyadmin и сравнивал его с дампом php print_r, и заметил, что print_r, похоже, использует только первую (строку) переменную «id», к которой он пришел, и пропускает вторую. Есть ли причина, по которой print_r не помещал бы что-то вроде ‘tablename. «Id»‘ вместо того, чтобы просто исключать значение «id» из вторых таблиц?
PHPmyADMIN head dump:
Пример дампа PHP:
print_r
просто печатает массив как есть, и, очевидно, он имеет только те 4 индекса с указанными значениями.
Проблема в самом запросе. Имена таблиц или псевдонимы таблиц не возвращаются в имени поля, поэтому вы получаете два поля с именем id
, Поскольку массив не может иметь один и тот же ключ дважды, один из двух просто пропускается.
Чтобы решить эту проблему, измените запрос, указав псевдоним для самого поля:
SELECT
t1.id as t1_id, -- Key will be t1_id
t2.id as t2_id, -- Key will be t2_id
.. other fields ..
FROM
.. etcetera ...
Других решений пока нет …