数据库
首页 > 数据库> > php – 连接不同数据库中的多个表? MySQL的

php – 连接不同数据库中的多个表? MySQL的

作者:互联网

嘿,我正在寻找一种好方法,使用php连接到mysql中的至少2个数据库,并从表中的每个数据库中收集信息.

表格将包含相关信息.例如.我在名为“sites”的表中的一个数据库(‘siteinfo’)中有站点名称.我还在名为“描述”的表中的另一个数据库(“sitedescriptions”)中有网站描述.

我似乎无法让这两个数据库相互通信.有谁知道我怎么能做上述事情?我是php / mysql的新手.

此外,在“说明”表中,有三行信息与站点表中的一个站点相关.是否可以让这些行只与它所涉及的一个站点进行通信?

感谢您的任何帮助.

解决方法:

一个好的策略可能是定义一个对两个数据库具有相同访问权限的MySQL用户.像这样的东西:

GRANT ALL ON siteinfo.* TO user@localhost IDENTIFIED BY 'password';
GRANT ALL ON sitedescriptions.* TO user@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

以该用户建立连接后,您将可以访问这两个数据库,并可以通过在表名前添加数据库名称来轻松引用它们.

SELECT * FROM siteinfo.sites;

您甚至可以毫无困难地以这种方式跨数据库加入表.因此,要回答第二个问题,要获取站点的所有三个描述行,您可以执行此操作(假设站点在每个数据库中具有相同的ID,或相同的名称,或者您可以加入的独特内容):

SELECT * FROM
    siteinfo.sites AS s LEFT JOIN 
    sitedescriptions.description AS d ON s.siteId=d.siteId
WHERE s.siteId=123;

标签:php,mysql,database,database-connection
来源: https://codeday.me/bug/20191008/1873402.html