2016-09-05 40 views
0

我有多個db文件,其中包含具有不同值的同一個表。從多個數據庫文件中選擇所有行 - php sqlite3

示例文件:

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,任何幫助,將不勝感激。

回答

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); 
+0

我得到一個錯誤:'致命錯誤:調用函數fetch()在布爾函數中加入' – Elyor

+0

添加正確的[錯誤處理](http://php.net/manual/en/pdo.query.php)。 –

+0

'SQLSTATE [HY000]:一般錯誤:1沒有這樣的表:db2.wifi'但所有數據庫都有相同的表。你可以幫我嗎? – Elyor

相關問題