Проблема с 2 mysql соединениями

  • Автор темы Автор темы ys
  • Дата начала Дата начала

ys

отодвинутый новичок
Проблема с 2 mysql соединениями

Имеем:

# Открываем первое соединение:
$conn1 = mysql_connect('localhost','user1','pass1');
# Выбираем первую базу:
mysql_select_db('base1', $conn1);

# Работаем с первой базой используем $conn1.
.....

# Открываем второе соединение:
$conn2 = mysql_connect('localhost','user2','pass2');
# Выбираем вторую базу:
mysql_select_db('base2', $conn2);

# Работаем со второй базой, используя $conn2
.....

# Закрываем второе соединение
mysql_close($conn2);


А вот тут при попытке использовать $conn1 все нормально, но почему то обращения идут к base2. Хотя во втором mysql_select_db() я явно использовал $conn2 .

Вопрос: Это так и должно быть или я где то туплю?


Info:
Apache 1.3.28
mysql 4.0.16
PHP 4.3.3
 
ys
Какой смысл открывать 2 конекта к одному серверу?
 
Видимо, чтобы использовать разные базы, к которым разные логины
 
Мануал:

Если второй вызов функции произошёл с теми же аргументами [m]mysql_connect[/m](), новое соединение не будет установлено. Вместо этого функция вернёт ссылку на уже установленное соединение. Параметр new_link может заставить функцию mysql_connect() открыть ещё одно соединение, даже если соединение с аналогичными параметрами уже открыто.
 
fixxxer
>>Видимо, чтобы использовать разные базы, к которым разные логины

Какой смысл делать разные логины к базам с которыми работаешь из одного скрипта?
 
... mysql_select_db() выбирает для работы указанную базу данных на сервере, на который ссылается переданный указатель ... - это из мануала ... может оно на коннекшны разные не смотрит ?
просто провело селект_дб для этого сервера и потом уже неважно какой ресурс используеться, типа раз к этому серверу (даже если с разными логинами), то к базе которая была в последнем селект_дб ?

это я просто спрашиваю ... можт и неправ. :-)
 
Falc

ХЗ. Может, у хостера по-другому нельзя. Хотя странный хостер...
 
да нормально это ... например покупаеться место под один проект. через год под второй. а потом хотим какую-то инфу из первого вытягивать во второй. вот и все .. работаем с двумя базами под разным доступом.
 
MD
Очень сомнительная ситуация. Проще у хостера выделеный сервер мускула заказать и рулить им как хочешь ;)
 
Falc
нормальная ситуация. Вопрос по моему человек вполне конкретный задал...
 
Falc
>> Какой смысл делать разные логины к базам с которыми работаешь из одного скрипта?

Еслиб только я один работал, тогда бы были логины и пароли одинаковыми.
Просто второе соединение в будующем планировалось не на localhost, а тут по любому 2 соединения.

fixxxer
Логин, пароль,база - разные. и Resource ID я проверял - тоже разные.

Romantik
Так и сделал :)
 
si
Есть подозрение что автор треда создал себе лишний гиморой. Может проще устранить причину чем боротся с последствиями.
 
Falc
Гиморой создают мне в задачах, а я его пытаюсь вылечить :) .

Хотя, ведь все по документации правильно, вот что меня удивило в этом решении...
 
то, что ты описываешь - это баг твоего кода.
по крайней мере, до тех пор, пока ты не приведешь соответствующий test-case.
правда, я могу заранее сказать, что так не бывает, коннекшены не могут путаться, смотри в код.
 
tony2001
>> то, что ты описываешь - это баг твоего кода.

Я не утверждал обратного.

Явно добавил переметр new_link в mysql_connect() все стало на свои места.

Видимо fixxxer был прав, хотя аргументы разные, кроме mysql_host.
 
Сверху