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