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

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
 

Falc

Новичок
ys
Какой смысл открывать 2 конекта к одному серверу?
 

fixxxer

К.О.
Партнер клуба
Видимо, чтобы использовать разные базы, к которым разные логины
 

fixxxer

К.О.
Партнер клуба
Мануал:

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

Falc

Новичок
fixxxer
>>Видимо, чтобы использовать разные базы, к которым разные логины

Какой смысл делать разные логины к базам с которыми работаешь из одного скрипта?
 

MD

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

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

fixxxer

К.О.
Партнер клуба
Falc

ХЗ. Может, у хостера по-другому нельзя. Хотя странный хостер...
 

MD

Guest
да нормально это ... например покупаеться место под один проект. через год под второй. а потом хотим какую-то инфу из первого вытягивать во второй. вот и все .. работаем с двумя базами под разным доступом.
 

Falc

Новичок
MD
Очень сомнительная ситуация. Проще у хостера выделеный сервер мускула заказать и рулить им как хочешь ;)
 

si

Administrator
Falc
нормальная ситуация. Вопрос по моему человек вполне конкретный задал...
 

ys

отодвинутый новичок
Falc
>> Какой смысл делать разные логины к базам с которыми работаешь из одного скрипта?

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

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

Romantik
Так и сделал :)
 

Falc

Новичок
si
Есть подозрение что автор треда создал себе лишний гиморой. Может проще устранить причину чем боротся с последствиями.
 

ys

отодвинутый новичок
Falc
Гиморой создают мне в задачах, а я его пытаюсь вылечить :) .

Хотя, ведь все по документации правильно, вот что меня удивило в этом решении...
 

tony2001

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

ys

отодвинутый новичок
tony2001
>> то, что ты описываешь - это баг твоего кода.

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

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

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