将数据从多个数据源传递到公共函数

时间:2012-01-21 14:21:55

标签: php mysql

我正在使用PHP和MySQL设计一个网站。对于网页,我从多个来源获取数据。现在,我将数据传递给许多网页常见的功能。使用数据的函数再次查询数据库并产生获得的结果。问题是,常用函数没有隐式引用任何数据库。因为,我传递的数据将来自两个数据库中的一个,该函数只查找其中一个数据库中的数据,并在其不可用时返回null。现在,如果我修改函数以在两个数据库中搜索,那么其他页面将受到影响。我想知道是否有相同的解决方法?

1 个答案:

答案 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修饰符。