我正在使用PHP和MySQL设计一个网站。对于网页,我从多个来源获取数据。现在,我将数据传递给许多网页常见的功能。使用数据的函数再次查询数据库并产生获得的结果。问题是,常用函数没有隐式引用任何数据库。因为,我传递的数据将来自两个数据库中的一个,该函数只查找其中一个数据库中的数据,并在其不可用时返回null。现在,如果我修改函数以在两个数据库中搜索,那么其他页面将受到影响。我想知道是否有相同的解决方法?
答案 0 :(得分:0)
例如,您可以跨两个数据库UNION
DOCs:
SELECT id, title FROM database_one.table_name WHERE id = $id
UNION
SELECT id, title FROM database_two.table_name WHERE id = $id
这将在一个查询中为您提供两个SQL语句的结果。通过这种方式,您将从两个数据库中的两个表中获得符合条件的所有记录。
UNION
要求两个语句返回相同数量的列,这就是我指定它们而不是使用*
通配符的原因。
如果您想确保只返回唯一记录(两个数据库中可能出现相同的记录),那么您可以使用DISTINCT
修饰符。