Javoronok
@Javoronok

Как подключиться к 2-м базам MySQL?

Подобный скрипт не работает:
$a="host";
$db="db";
$u="user";
$p="pass";
$link= mysql_connect("$a", "$u","$p");

$a1="host1";
$db1="db1";
$u1="user1";
$p1="pass1";
$link1= mysql_connect("$a1", "$u1","$p1");

@mysql_select_db($db, $link);
mysql_query("DELETE FROM table WHERE param = '1'");

@mysql_select_db($db1, $link1);

$result = mysql_query("SELECT param1 FROM table1 WHERE param2 = '2'");
                if (!$result) echo "Error: ".mysql_error();

echo "count_result ".mysql_num_rows($result);

Пожалуйста, укажите на мою ошибку?
  • Вопрос задан
  • 3184 просмотра
Решения вопроса 1
reffy
@reffy
Я молодец.
Во первых, начните использовать MySQLi.
Во вторых, php.net/manual/ru/function.mysql-query.php
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
mysql_query( $query, $link ); - указывайте нужный линк при запросе
mysql_error( $link ); - при получении ошибки тоже
Ответ написан
Комментировать
t-alexashka
@t-alexashka
Сразу пишу legacy код
Если и в первом и втором инициализаторе одинаковые хост-база, то во второй последним параметром в mysql_connect добавьте true

иначе php выдаст ошибку.
Ответ написан
Javoronok
@Javoronok Автор вопроса
Рабочее решение

подключение к 2-м и более БД
$dbh1 = mysql_connect($hostname1, $username1, $password1); 
$dbh2 = mysql_connect($hostname2, $username2, $password2, true); 
$dbh3 = mysql_connect($hostname3, $username3, $password3, true); 

mysql_select_db('database1', $dbh1);
mysql_select_db('database2', $dbh2);
mysql_select_db('database3', $dbh3);


в запросе указываем к какой БД подключение:
// запрос к базе 1:
mysql_query('select * from tablename', $dbh1);

// запрос к базе 2:
mysql_query('select * from tablename', $dbh2);

// запрос к базе 3:
mysql_query('select * from tablename', $dbh3);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы