#php #mysql
#php #mysql
Вопрос:
Я хочу отображать данные в браузере. Я уже извлек данные из баз данных, но когда я вызываю mysql_select_db
, она принимает только одну базу данных. Но мои данные из другой базы данных.
Как я буду их выбирать? если я пишу mysql_select_db, он принимает только одну базу данных. для множества баз данных, если я использую mysql_select_db, он принимает, но результат не отображается в браузере. он показывает максимальное время выполнения 30 секунд .. если я работаю с 1 базой данных, результаты отображаются в браузере, но когда я пытаюсь установить связь с более чем 1 базой данных в одном соединении, возникает проблема.
Та же проблема возникает, когда я пытаюсь связать 2 таблицы в одной базе данных. но если я использую одну таблицу и нет связи с другой таблицей, то результаты не приходят
Ответ №1:
вам нужно открыть два разных соединения
$con1 = mysql_connect($server1, $user1, $pass1);
mysql_select_db($con1);
$con2 = mysql_connect($server2, $user2, $pass2);
mysql_select_db($con2);
$query1 = mysql_query($sql1, $con1);
$query2 = mysql_query($sql2, $con2);
Редактировать:
если доступ к обеим вашим базам данных возможен при одном подключении:
допустим, у вас две разные базы данных, db1 и db2
$sql1 = "SELECT * FROM db1.myTable WHERE something ";
$sql2 = "SELECT * FROM db2.myOtherTable WHERE something ";
Комментарии:
1. но все мои базы данных подключены к одному соединению. правильно ли будет создать 2 разных соединения?
2. о, извините, тогда будет излишним устанавливать два разных соединения. Тогда позвольте мне отредактировать ответ
3. эти запросы в порядке. я понял это .. скажите мне, как отобразить это в браузере. если я пишу mysql_select_db, он принимает только одну базу данных. для множества баз данных, если я использую mysql_select_db, он принимает, но результат не отображается в браузере. он показывает максимальное время выполнения 30 секунд .. если я работаю с 1 базой данных, результаты отображаются в браузере, но когда я пытаюсь установить связь с более чем 1 базой данных в одном соединении, возникает проблема.
4. Та же проблема возникает, когда я пытаюсь связать 2 таблицы в одной базе данных. но если я использую одну таблицу и нет связи с другой таблицей, то результаты не приходят.
Ответ №2:
Вы можете либо указать в своих запросах имя базы данных (SELECT * FROM db1.table; SELECT * FROM db2.table)
, либо выполнить свой первый запрос, сохранить его результат в PHP-массиве, вызвать mysql_select_db() и выполнить второй запрос.
Первый подход несколько более гибкий, поскольку при желании вы можете выполнять такие действия, как межбазные соединения (хотя не могу поручиться за то, насколько хорошо будет выполняться межбазное соединение).
Ответ №3:
Сначала получите данные из первой базы данных, а затем вызовите mysql_select_db
вторую базу данных, а затем получите значения из второй базы данных. Вы можете перемещаться туда и обратно между базами данных, из которых вам требуются данные, просто вызовите mysql_select_db
для этой базы данных перед вызовом функций php mysql.