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+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Работа по размещению ссылок
0 masterstraff 922 28.11.2022, 10:01
автор: masterstraff
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыЧто лучше, фриланс, удаленка, или работа в офисе солидной компании?
528 Levizar 165621 28.10.2022, 18:39
автор: YK48
Горячая тема (нет новых ответов) Работа в интернете
328 Yana_Vo 92343 12.9.2022, 14:35
автор: malamut
Открытая тема (нет новых ответов) Postkassa.ru - работа с наложенными платежами на новом уровне
3 Postkassa 1895 1.9.2022, 18:27
автор: Postkassa
Открытая тема (нет новых ответов) Тендеролог и прочая рутинная работа
1 xDanielx 1567 9.10.2021, 17:41
автор: Silverspam


 



RSS Текстовая версия Сейчас: 3.12.2022, 9:02
Дизайн