Работа с базой на удаленном сервере

Mishin Oleg

Новичок
Работа с базой на удаленном сервере

Опишу проблему:

Работаю с тремя базами одновременно. Подключаю их типа:

$db1=mysql_connect($db_host1,$db_login1,$db_password1)
$db2=mysql_connect($db_host1,$db_login2,$db_password2)
$db3=mysql_connect($db_host2,$db_login3,$db_password3)

То есть две базы на одном хосте, а одна на другом. Затем перед каждым запросом я выбираю активную базу:

mysql_select_db($database_name,$dbX)

и делаю запросы. При таком расположении команд не проходят запросы к первым двум базам, не смотря на то, что я сделал их активными через идентификатор $dbX.

Теперь самые танцы с бубном: меняем местами строки подключения типа:

$db1=mysql_connect($db_host1,$db_login1,$db_password1)
$db3=mysql_connect($db_host2,$db_login3,$db_password3)
$db2=mysql_connect($db_host1,$db_login2,$db_password2)

и все начинает прекрасно работать, но теперь не видится 3 база. Такое ощущение, что при установке актуальной базы через mysql_select_db не меняется хост, не смотря на то, что я передаю идентификатор базы.

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

Фанат

oncle terrible
Команда форума
а что ж ты само выполнение запроса как делаешь, не показал?
что значит - "не проходят"? Запор у них что ли?
 

Mishin Oleg

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

$result=mysql_query($query);
$i=0;
while ($row = mysql_fetch_array($result))
{
for($j=0;$j<count($row);$j++)if(IsSet($row[$j]))$res[$i][$j]=$row[$j];
$i++;
}

Ошибка возникает на mysql_fetch_array($result), так как $result пустой. Данные просто не считываются =)
 

ForJest

- свежая кровь
Mishin Oleg
используй new_link - следующий за паролем параметр.
 

Mishin Oleg

Новичок
Текст ошибки:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/million/admin2/scripts/sql.php on line 37
 

Mishin Oleg

Новичок
ага? понятно. Я и забыл, что там такие параметры есть. Расскажи как юзать new_link? просто ставлю 1 (bool) и получаю

$db1=mysql_connect($db_host1,$db_login1,$db_password1,1)
$db2=mysql_connect($db_host1,$db_login2,$db_password2,1)
$db3=mysql_connect($db_host2,$db_login3,$db_password3,1)

Все верно?

-~{}~ 21.06.05 14:18:

Фанат
нравится? мне тоже, но ничего не поделаешь =)
 

Фанат

oncle terrible
Команда форума
прочти документацию на mysql_query
и заодно - на mysql_fetch_row

-~{}~ 21.06.05 12:20:

а главное - на mysql_error()
 

Mishin Oleg

Новичок
Фанат
читал, ты мне хочешь что-то конкретное предложить почитать?


ForJest
Дак всеже, все верно?
 

Фанат

oncle terrible
Команда форума
всё неверно.
конкретно по твоей проблеме надо про mysql_query прочитать

-~{}~ 21.06.05 12:22:

по гениальному коду - про mysql_fetch_row
для общего образования вообще - про mysql_error()

-~{}~ 21.06.05 12:24:

Дак всеже, все верно?
а проверить не судьба? чтобы посмореть - верно или не верно?
 

Mishin Oleg

Новичок
Фанат
1. всё неверно - фраза, равная по смыслу и уровню интеллектуального развития фразе "Windows must die". Думаю, не адо обьяснять, что перед образением сюда я уже прочитал доки по mysql_db_query, mysql_query и подобным.

2. Кроме того, вопрос был адресован не тебе, так че ты лезешь когда не спрашивают?

3. Код я естессно проверил, и если все бы лаботало - не спрашивал бы. Когда же ты вырастишь, читаю твои посты уже довольно долгое время, а ты как был ребенком, так ребенком и остался. И еще, может ты и знаешь на некотором уровне php, но вот со словом "этика" тебя видимо не познакомили в детстве. А если ты точно ответа не знаешь - зачем вообще флудишь здесь? Единственный полезный пост здесь оставил ForJest, в этом направлении я сейчас найду хорошую документацию, а тебя воспитывать мне надоело. Прикинься будто я у тебя в игноре, пожалста.

-~{}~ 21.06.05 14:34:

ForJest
Спасибо, понял свою ошибку, уже переписал функцию, теперь все рабоатет. Помогли доки.
 
Сверху