所以我有一个主数据库,用于存储其他数据库的名称。我需要通过某种联接来循环存储在主数据库中的所有数据库的槽表。我需要使用PHP和MySQLi的status != 2
站数据库中所有行的数组。
主要是这样的:
main.stations
+----+-----------------+------+
| ID | station name | db |
+----+-----------------+------+
| 1 | Name of station | db_1 |
| 2 | Name again | db_2 |
| 3 | Name | db_3 |
+----+-----------------+------+
所有三个站点都有一个分配的数据库,其名称在列main.stations.db
该站的数据库有两个表,我需要循环访问这些表并在status != 2
处获取所有行。这两个表如下所示(以db_1为例):
db_1.salesReport
+----+----------+--------+
| ID | name | status |
+----+----------+--------+
| 1 | Report 1 | 1 |
| 2 | Report 2 | 0 |
| 3 | Report 3 | 2 |
+----+----------+--------+
db_1.fuelReport
+----+----------+--------+
| ID | name | status |
+----+----------+--------+
| 1 | Report 1 | 1 |
| 2 | Report 2 | 0 |
| 3 | Report 3 | 2 |
+----+----------+--------+
我的问题是;有没有一种方法可以基于另一个数据库中的数据库名称来遍历数据库? (当然,假设用户具有对所有数据库的访问权限) 我不想基于工作站在阵列中添加另一层。我希望子数据库中的每一行都应该是最顶层的元素,包括阵列中来自工作站的所有信息。
修改 输出必须看起来像这样
0:{
stationID: 1
station name: Name of stations,
fromDb: salesReport //this doesn't have to be dynamically stated
name: Report 1,
status: 1
},
1:{
stationID: 1
station name: Name of stations,
fromDb: fuelReport
name: Report 1,
status: 1
},
2:{
stationID: 1
station name: Name of stations,
fromDb: salesReport
name: Report 2,
status: 0
},
3:{
stationID: 2
station name: Name again,
fromDb: salesReport
name: Report 2,
status: 0
},
以此类推。