mysql — запрос соединения PDO с несколькими базами данных в переполнении стека

Я искал и искал ответ на этот вопрос, но пришел с пустыми руками. Я надеюсь, что кто-то может указать мне в направлении твердого примера.

Я разработал модульную систему, в которой данные хранятся в нескольких базах данных MySQL.

Я использую объекты PDO для подключения к базе данных с помощью PHP. Мне нужно выполнить запрос JOIN для двух разных баз данных, но мои объекты PDO инициализированы для конкретной базы данных. Я попытался использовать абсолютную ссылку ‘dbName.tableName.field.Name’, как это было бы выполнено с использованием устаревшей функции mysql_query (), но не повезло.

Можно ли выполнить запрос JOIN для нескольких баз данных, используя PDO?

Использование: У меня есть база данных персонала и база данных документов. При перечислении всех документов возвращается внешний ключ — StaffID. Мне нужно перевести это на имя персонала, используя таблицу персонала.

1

Решение

Вы должны убедиться, что у вас есть тот же пользователь, который имеет доступ ко всем вашим базам данных.

JOIN должен указывать полное имя database.table:

SELECT * FROM database_1.table1 AS d1 LEFT JOIN database_2.table2 AS d2
ON d1.someIDField = d2.someIDField;
1

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

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

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