Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подключение двух баз
 
 автор: kd   (03.03.2010 в 16:20)   письмо автору
 
 

Здравствуйте!

Хочу поинтересоваться, есть ли возможность подключить 2 базы одновременно?

Наивно пробовал так:

$db = mysql_connect ("localhost","логин","пароль") or die("Бррр");

mysql_select_db ("baza1",$db);
mysql_select_db ("baza2",$db);


Выдаёт ошибку: Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in ...

Задача такая:
Хочу получить доступ к таблицам одновременно, находящиеся в 2х разных базах, на одном сервере.

  Ответить  
 
 автор: dimaxz   (03.03.2010 в 17:12)   письмо автору
 
   для: kd   (03.03.2010 в 16:20)
 

если не ошибаюсь тока платная версия mysql может

  Ответить  
 
 автор: kd   (03.03.2010 в 17:25)   письмо автору
 
   для: dimaxz   (03.03.2010 в 17:12)
 

Ох как печально, если так ((((

  Ответить  
 
 автор: Loki   (03.03.2010 в 17:29)   письмо автору
 
   для: kd   (03.03.2010 в 16:20)
 

если доступ нужен одновременно, то достаточно и одного подключения. просто указывайте имя БД в запросе:

SELECT * FROM baza1.users b1 JOIN baza2.users b2 ON b1.user_id=b2.user_id WHERE b1.user_id=1

  Ответить  
 
 автор: kd   (03.03.2010 в 18:33)   письмо автору
 
   для: Loki   (03.03.2010 в 17:29)
 

Спасибо за ответ)

Только вот я в запросе не очень понял, что есть что(((
Loki, подскажите пожалуйста
SELECT * FROM baza1.users b1 JOIN baza2.users b2 ON b1.user_id=b2.user_id WHERE b1.user_id=1
в выделенном, что есть что?

И можно Вас ещё попросить, показать полностью подключение как должно выглядеть, чтоб ошибки не сделать?
Например так как-то

$db = mysql_connect ("localhost","логин","пароль") or die("Бррр"); 

$vvv    = mysql_query ("SELECT * FROM baza1.users b1 JOIN baza2.users b2 ON b1.user_id=b2.user_id WHERE b1.user_id=1");
$aaa = mysql_fetch_array($vvv);

$text = $aaa[text];

или как?

  Ответить  
 
 автор: Trianon   (03.03.2010 в 22:32)   письмо автору
 
   для: kd   (03.03.2010 в 18:33)
 

Если Вам не требуется обращаться на чтение к двум таблицам одновременно, Вы можете не знать, что такое JOIN ... ON . Правда, тогда неясно, зачем Вам одновременный доступ к двум БД.
Все остальные элементы у Loki названы своими именами.

Между прочим. Такой доступ так или иначе выполняется из-под логина одного пользователя.
И в его списке прав должен быть разрешен нужный доступ к обеим базам.

  Ответить  
 
 автор: kd   (04.03.2010 в 10:34)   письмо автору
 
   для: kd   (03.03.2010 в 18:33)
 

Ещё раз спасибо!!! Разобрался сам... Всё работает)))

  Ответить  
 
 автор: kd   (04.03.2010 в 10:41)   письмо автору
 
   для: kd   (04.03.2010 в 10:34)
 

Trianon, мне такой доступ нужен, если так интересно, потому что написал простенькую cms, в ней уже куча обращений к базам есть и потребовалось обратиться к другой базе, но так как я думал это делается (см. 1 сообщение) вылезла ошибка. Ничего в Интернете не нашёл и решил к Вам обратиться...
Спасибо за помощь!

  Ответить  
 
 автор: Trianon   (04.03.2010 в 11:48)   письмо автору
 
   для: kd   (04.03.2010 в 10:41)
 

Это делается проще:
$srv1 = mysql_connect ("host1","логин1","пароль1") or die("Бррр");
$srv2 = mysql_connect ("host2","логин2","пароль2") or die("Бррр");
mysql_query("Запрос1", $srv1);
mysql_query("Запрос2", $srv2);

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования