X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Работа с 2-мя базами
zeniazik
zeniazik
Topic Starter сообщение 9.4.2011, 20:01; Ответить: zeniazik
Сообщение #1


Добрый день подскажите как работать одновременно с двумя базами... Т.е чтоб при выводе из базы я мог указать из какой конкретно базы брать...
А то до этого тупо чередовал коннекты =(

[PHP]
$db1 = mysql_connect ("localhost", "1oot","12345");
mysql_select_db ("baza1", $db1);

$db2 = mysql_connect ("localhost", "1root","12345");
mysql_select_db ("baza2", $db2);

//Вывод из первой базы
$query = "select name from users";
$r = mysql_query($query) or die("Ошибка при подключении к базе данных");
$row = mysql_fetch_row($r);

//Выводи второй базы
$query2 = "select name from users";
$r2 = mysql_query($query2) or die("Ошибка при подключении к базе данных");
$row2 = mysql_fetch_row($r2);
[/PHP]

Покажите плис как правильно =)
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 9.4.2011, 20:40; Ответить: alexdrob
Сообщение #2


3 варианта как минимум

1) как ваш, только вы в query не указали из какой базы выводить и у вас будет работать не правильно

2) 1 конект но перед хапросом менять выбранную базу, типа
[PHP]mysql_connect ("localhost", "1oot","12345");

mysql_select_db ("baza1");
$query = "select name from users";
$r = mysql_query($query) or die("Ошибка при подключении к базе данных");
$row = mysql_fetch_row($r);

mysql_select_db ("baza2");
//Выводи второй базы
$query2 = "select name from users";
$r2 = mysql_query($query2) or die("Ошибка при подключении к базе данных");
$row2 = mysql_fetch_row($r2);[/PHP]

3) вообще не выбирать базу, и указывать её в запросе
[PHP]mysql_connect ("localhost", "1oot","12345");

$query = "select `baza1`.`name` from `users`";
$r = mysql_query($query) or die("Ошибка при подключении к базе данных");
$row = mysql_fetch_row($r);

//Выводи второй базы
$query2 = "select `baza2`.`name` from `users`";
$r2 = mysql_query($query2) or die("Ошибка при подключении к базе данных");
$row2 = mysql_fetch_row($r2);[/PHP]


Я думаю так:
Если данные для подключения к обоим базам (хост юзер и пароль) одинаковы, то первый вариант отпадает как лишний конект
Если вы делаете несколько запросов в одну и ту же базу подряд а потом влургую то второй вариант
Если вы делаете по одному запросу в базу - то третий, но можно и второй.

Но в вашем случае, если похожие таблицы с одинаковыми полями, то можно вообще выполнить одним запросом через union к двум базам и выбрать за раз обе таблицы.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zeniazik
zeniazik
Topic Starter сообщение 9.4.2011, 21:08; Ответить: zeniazik
Сообщение #3


Ого)) Спасибо, даже с выбором... А как с этим union делать запрос, можете объяснить если не тяжело?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 9.4.2011, 21:21; Ответить: alexdrob
Сообщение #4


(zeniazik @ 10.4.2011, 00:08) *
можете объяснить если не тяжело?

Легко)
http://www.mysql.ru/docs/man/UNION.html
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zeniazik
zeniazik
Topic Starter сообщение 9.4.2011, 21:27; Ответить: zeniazik
Сообщение #5


Спасибо... попозже гляну))
Вот чёта пробую, но 3-ий способ не в какую не прокатывает...
Да и почему в 1 будет не правильно работать?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 9.4.2011, 22:32; Ответить: alexdrob
Сообщение #6


в 1ом конект лишний, а это не нужные ресурсы, не то что бы не правильно, просто если у вас пару тысяч просмотров в день сайта, вам любой вариант подойдёт. Но чем больше просмотров, тем чаще нагрузка)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zeniazik
zeniazik
Topic Starter сообщение 10.4.2011, 18:43; Ответить: zeniazik
Сообщение #7


Хм... да действительно... спасибо что разжевали)))

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужна работа
0 filatd 707 12.1.2024, 17:08
автор: filatd
Открытая тема (нет новых ответов) Работа: Разная рутина
Работа, разные рутинные задачи: постинг / переговоры / поиск
1 ivanshargin 932 31.10.2023, 17:55
автор: ServersExpert
Открытая тема (нет новых ответов) Нужна удаленная работа
Нужна удаленная работа
0 filatd 990 12.9.2023, 11:40
автор: filatd
Открытая тема (нет новых ответов) Нужны тексты для сайта, работа на постоянку
6 danilchuk88 1584 19.3.2023, 0:53
автор: malamut
Открытая тема (нет новых ответов) Работа по размещению ссылок
1 masterstraff 2068 17.12.2022, 2:43
автор: aspi


 



RSS Текстовая версия Сейчас: 29.3.2024, 15:32
Дизайн