|
|
|
| Везде в инете смог найти только описание и примеры работы с подключением к одной базе данных. Никак не могу разобраться, как работать с двумя и более одновременными подключениями к разным базам MySql.
Вот пример кода:
<?
// Подключаемся к базе данных №1
$conn_id=mysql_connect("localhost", "root", "");
if(!$conn_id){echo "Нет доступа к базе данных 'base_1'<br>Повторите попытку позже...";exit;}
mysql_select_db("base_1",$conn_id);
// Подключаемся к базе данных №2
$conn_id_users=mysql_connect("localhost", "root", "");
if(!$conn_id_users){echo "Нет доступа к базе данных 'base_2'<br>Повторите попытку позже...";exit;}
mysql_select_db("base_2",$conn_id_users);
// После выборки выводим данные из базы №2
$sql_query="SELECT * FROM users_info";
$sql_res=mysql_query($sql_query,$conn_id_users);
if(!mysql_num_rows($sql_res)) echo mysql_error();
while($list = mysql_fetch_array($sql_res))
{
echo $list['id'].", ".$list['name'].", ".$list['forenames']."<br><br>";
}
// После выборки выводим данные из базы №1
$sql_query=mysql_query("SELECT * FROM pages_one",$conn_id);
if(!mysql_num_rows($sql_query)) echo mysql_error();
while($list = mysql_fetch_array($sql_query))
{
echo $list['menu'].", ";
}
?>
|
У меня почему-то происходит подключение только к одной базе данных. Первой в коде. Данные из неё выбирает и выводит нормально. Если их поменять местами, то всё то же - подключается только к первой в списке по коду.
Далее в запросе естественно начинает ругаться Table 'base_2.users_info' doesn't exist
, что такой-то таблицы нет в базе данных (она есть, но в другой базе)
Идентификатор подключения в запросе у меня присутствует. Может кто сталкивался с такой проблемой. Как работать с двумя и более подключениями? | |
|
|
|
|
|
|
|
для: sirop
(23.07.2006 в 19:19)
| | Дело в том, что если функция mysql_connect() получает параметры для уже открытого соединения, она не осуществляет повторное соединение, а возвращает дескриптор уже открытого соединения. Для того, чтобы mysql_connect() открыла новое соединение, необходимо передать значение true в качестве четвёртого параметра.
<?php
$conn_id=mysql_connect("localhost", "root", "", true);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(23.07.2006 в 19:45)
| | Да, спасибо не только за наглядный пример, но и за разъяснение.
Всё работает!!!!!!!!!!!!!!!!!!!!!!!!!! | |
|
|
|