Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
ProstoMad
49 / 39 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
1

Mysqli и выборка из разных баз

29.04.2015, 10:51. Просмотров 644. Ответов 8
Метки нет (Все метки)

Как можно джойнами соединить две таблицы из разных дб на одном хосте? Есть базы: db1 и db2, в db1 таблица t1, в db2 - t2. Как можно через LEFT JOIN соединить эти таблицы, используя mysqli?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2015, 10:51
Ответы с готовыми решениями:

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

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

Warning: mysqli::query() [mysqli.query]: Couldn't fetch mysqli in
Здравствуйте! Подскажите как решить проблему с выдаваемыми ошибками: Вот сам файл install.php...

Выборка таблиц из двух разных баз данных
Добрый день, опять обращаюсь к Вам за помощью, заранее благодарю. Проблема в запросе на выборку...

Ошибка подключения к БД: Warning: mysqli::mysqli() [mysqli.mysqli]: (28000/1045): Access denied for user
Есть магазин на OpenCart, необходимо сделать, чтобы при введении посетителем определенной инфы в...

8
nrobert
169 / 152 / 66
Регистрация: 11.02.2015
Сообщений: 450
29.04.2015, 12:08 2
Так же, как обычно, mysqli тут ни при чем.
SQL
1
SELECT blahblahblah FROM d1.t1 JOIN d2.t2 ON blahblah
0
ProstoMad
49 / 39 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
29.04.2015, 17:42  [ТС] 3
nrobert, в моем случае подключение к бд выглядит так:
PHP
1
2
self::$db1 = new mysqli("192.168.0.4","user","pass","db1");
self::$db2 = new mysqli("192.168.0.4","user","pass","db2");
а запрос который надо выполнить такой:
PHP
1
$sql = self::$db2->query("SELECT * FROM t2 LEFT JOIN [Другая бд].t1 ON t2.ObjectTypeID=t1.itemID WHERE ID=$id LIMIT 1");
но тут я и застрял, не могу понять, как обратиться в этом запросе к другой бд
0
TA1ex
120 / 34 / 9
Регистрация: 12.03.2015
Сообщений: 125
30.04.2015, 11:42 4
Вопрос в другом. Зачем под один сайт создавать две разные БД? Не проще бы объединить таблицы по логике в одну базу данных
0
30.04.2015, 11:42
ProstoMad
49 / 39 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
30.04.2015, 13:46  [ТС] 5
TA1ex, одна база сайта, вторая база для другого. Иначе никак, нужны именно две бд.
0
F57
68 / 68 / 23
Регистрация: 17.02.2015
Сообщений: 397
30.04.2015, 15:01 6
Пихаешь обе базы в 1.
0
ProstoMad
49 / 39 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
30.04.2015, 17:57  [ТС] 7
F57, так база сайта нужна для него, а вторая база, постоянно меняется, и в одну никак
0
TA1ex
120 / 34 / 9
Регистрация: 12.03.2015
Сообщений: 125
01.05.2015, 11:53 8
Цитата Сообщение от ProstoMad Посмотреть сообщение
база, постоянно меняется
База меняется? Может таблица?
Все равно не понятно, почему нельзя сгруппировать таблицы (те, которые нужны для сайта и те, которые меняются) в одну базу данных? Это просто логическая группировка. Проблема может быть только если в разных базах таблицы называются одинаково и их около 100 штук, что вам лень переименовать их

Единственный вариант решения вижу в том, чтобы получать запросы из разных баз по отдельности, а потом уже их совместно обрабатывать. Т.е. JOIN двух таблиц из разных баз будет равносильно объединению полученных ассоциативных массивов в один с помощью array_merge
1
ProstoMad
49 / 39 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
01.05.2015, 15:20  [ТС] 9
TA1ex, одна база игры, и ее нежелательно трогать.
0
01.05.2015, 15:20
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2015, 15:20

Warning: mysqli::mysqli() [mysqli.mysqli]: php_network_getaddresses: getaddrinfo failed: Этот хост неизвестен
Денвер запущен, локалхост доступен, через cmd логинюсь в mysql.exe успешно. Вот что выводится на...

Можно ли указать для разных Access баз разных ADo провайдеров?
В ADO нужно указывать провайдера. Можно ли указать для разных Access баз разных провайдеров? ...

Автосинхронизация таблиц из разных баз разных структур
Стоит такая задача Есть две базы в различных СУБД серверах, база1 и база2. Необходимо реализовать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.