mysql — повторяет ли PHP переменные с одинаковыми именами в phpMyAdmin, или это ошибка с print_r?

Я смотрел на результаты соединения mysql в phpmyadmin и сравнивал его с дампом php print_r, и заметил, что print_r, похоже, использует только первую (строку) переменную «id», к которой он пришел, и пропускает вторую. Есть ли причина, по которой print_r не помещал бы что-то вроде ‘tablename. «Id»‘ вместо того, чтобы просто исключать значение «id» из вторых таблиц?

PHPmyADMIN head dump:

  • id inst_id zip id inst_id навык

Пример дампа PHP:

  • Массив ([id] => 1 [inst_id] => 1 [zip] => 23456 [skill] => мяу)

-2

Решение

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 ...
2

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

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

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