从多个db文件中选择所有行 - php sqlite3

时间:2016-09-05 04:25:26

标签: php sqlite

我有多个db文件,其中包含具有不同值的相同表。

示例文件:

  

wifi_16-09-02_09_34_03.db

     

wifi_16-09-02_09_44_06.db

     

wifi_16-09-02_09_60_02.db

如何从多个文件中选择所有行?

我只知道用一个文件来做这件事。

这是我的代码:

  $dbfile = 'wifi_16-09-02_09_34_03.db';
  $db = new SQLite3('dbs/'.$dbfile);
  $sql = 'SELECT * FROM wifi';
  $results = $db->query($sql);

我是SQLite3的新人,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以以相同的方式打开其他数据库。

如果要在一个查询中包含所有行,则需要将attach所有其他数据库添加到某个主数据库,并使用compound query

$db->exec("ATTACH 'dbs/wifi_16-09-02_09_44_06.db' AS db2");
$db->exec("ATTACH 'dbs/wifi_16-09-02_09_60_02.db' AS db3");
...
$sql = <<<'SQL'
    SELECT * FROM main.wifi
    UNION ALL
    SELECT * FROM db2.wifi
    UNION ALL
    SELECT * FROM db3.wifi
SQL;
$results = $db->query($sql);