【问题标题】:How to Display data from 2 different Database如何显示来自 2 个不同数据库的数据
【发布时间】:2015-01-19 10:37:22
【问题描述】:

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

描述数据库 1 表:区域:ar_id、名称、密码。
说明数据库 2 表:用户:id、用户名、密码。

现在,当用户登录时,他登录了第二个数据库。在用户的每个页面中,我都使用$_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 数据,但返回空表(我在此页面中包含两个数据库)。这是我当前的 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

注意:这是一个花了我将近一周时间的大问题! 请有人帮忙!

【问题讨论】:

  • 你能显示表名和它们的列吗?
  • 我认为你正在寻找的是 mysql 中的 GRANT 命令。在这里阅读:dev.mysql.com/doc/refman/5.1/en/grant.html.
  • @minh 这是来自数据库 1 的表名称:区域,站点;数据库 2:用户、客户;这些是两个数据库及其表名
  • @ElieMbuyamba,我不明白你为什么要比较Database1.st.name = '".$_SESSION['username']."'?
  • @好吧,事实是我是 PHP 的初学者。当涉及到将变量与 SQL 语句匹配时,这就是我使用它的方式。请随时为我提供更好的答案,以便我纠正我的错误。谢谢

标签: php mysql sql


【解决方案1】:

我想我有一个答案。 浏览并进行一些搜索后,我认为我可以使用 $_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");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    相关资源
    最近更新 更多