2015-01-19 3 views
0

У меня есть трудное время для извлечения данных из таблицы из базы данных MySQL. У меня есть две разные базы данных, которые нельзя слить, но в первой базе данных есть таблица, идентичная второй базе данных.Как отображать данные из двух разных баз данных

Описание База данных 1 таблица: области: ar_id, имя, пароль.
Описание База данных 2 таблица: пользователь: идентификатор, имя пользователя, пароль.

Теперь, когда пользователь Войти, он регистрируется во второй базе данных. на каждой странице пользователя я использую $_SESSION['username'] для вызова имени пользователя.

Важно, что на каждой странице есть таблица, которая отображает данные из разных таблиц, используя имя пользователя в базе данных 2; это иначе, чтобы SQL был конкретным и предоставлял каждому пользователю только собственную информацию. и все в порядке. Это SQL:

SELECT Client_table.Name, Client_table.Client_Id FROM Client_table, user WHERE user.username = '" . $_SESSION['username'] . "' AND Client_table.Branch = user.area Order by Name ASC 

В одной странице, я полностью с использованием 1-й базы данных с помощью этой SQL для отображения данных в таблице:

select site_id, site_name from sites WHERE srep_id = 5 
         AND status = 1 or status = 2 
         order by site_name asc 

ВОПРОС: Я хотел бы показать этот SQL данные в таблице, используя имя пользователя или идентификатор из второй базы данных. BUT возвращает пустую таблицу (на этой странице я включаю обе базы данных). Это мой текущий SQL, но все еще не показывает ничего:

SELECT cl.client_name, st.site_id, st.site_name 
       FROM Database1.sites st 
       JOIN Database2.user u ON u.id = st.ar_id 
       JOIN Database1.clients cl ON cl.client_id = st.client_id 
WHERE Database1.st.name = '".$_SESSION['username']."' 
         AND st.status > 0 
         ORDER BY st.site_name ASC 

ПРИМЕЧАНИЕ: Это серьезная проблема, которая приняла меня почти неделю! Пожалуйста, помогите!

+0

Можете ли вы показать название таблиц и их колонку? –

+0

Я думаю, что вы ищете команду GRANT в mysql. Читайте здесь: http://dev.mysql.com/doc/refman/5.1/en/grant.html. – andrew

+0

@minh Это имя таблицы из базы данных 1: область, сайты; База данных 2: пользователь, клиенты; Тезисы - это две базы данных с именем их таблицы – McElie

ответ

0

У меня есть ответ. После просмотра и выполнения какого-то поиска я озвучу, что могу использовать $ _SESSION here, а также Это мое последнее заявление SQL, которое помогло мне подключить 2 базы данных из одного и того же оператора SQL с помощью переменной в PHP Script.

session_start();

$result = mysql_query("SELECT cl.client_name, st.site_id, st.site_name, ar.rep_id 
         FROM sites st 
         JOIN areas ar ON ar.rep_id = st.srep_id 
         JOIN clients cl ON cl.client_id = st.client_id 
         WHERE st.srep_id = '".$_SESSION['userarea']."' 
         AND st.status > 0 
         ORDER BY st.site_name ASC"); 
Смежные вопросы