如何显示来自2个不同数据库的数据

时间:2015-01-19 10:37:23

标签: php mysql sql

我很难从MySQL数据库中检索表中的数据。 我有2个不能合并的数据库,但第一个数据库中有一个与第二个数据库相同的表。

  

描述数据库1表:区域:ar_id,名称,密码   说明数据库2表:user:id,username,pass。

现在,当用户登录时,他登录了第二个数据库。在用户的每个页面中,我使用$_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

在其中一个页面中,我完全使用带有此SQL的第一个数据库来显示表中的数据:

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

问题:我想通过使用第二个数据库中的用户名或id在表中显示此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

注意:这是一个主要问题,花了我差不多一个星期! 请帮助一下!

1 个答案:

答案 0 :(得分:0)

我想我有一个答案。 在浏览并进行一些搜索后,我发出声音,我可以使用$ _SESSION here而且,这是我的最终SQL语句,它帮助我通过在PHP中使用变量从同一个SQL语句连接2个数据库脚本。

在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");