2016-09-06 36 views
2

我想附加多个数据库文件,并从中选择。所有数据库文件具有相同的一个表,只是不同的值。PHP的SQLite附加“没有这样的表”异常

这里是我的方法:

try { 
$file_db = new PDO('sqlite:dbs/wifi_16-09-01_10_03_01.db'); 

$file_db->setAttribute(PDO::ATTR_ERRMODE, 
         PDO::ERRMODE_EXCEPTION); 

$file_db->exec("ATTACH DATABASE 'wifi_16-09-02_09_44_06.db' AS db2"); 

$result = $file_db->query('SELECT * FROM main.wifi UNION ALL SELECT * FROM db2.wifi'); 

$file_db = null; 
} 
catch(PDOException $e) { 
echo $e->getMessage(); 
} 

,误差

SQLSTATE[HY000]: General error: 1 no such table: db2.wifi

我怎样才能解决这个问题?

如果有更好的解决方案,我会使用它。

+0

您确定可以将换行符换成纯字符串吗? –

+0

是的,如果你指的是查询字符串 – Elyor

回答

2

我研究了几个小时后。我终于找到了解决方案。

提供附加的数据库的完整路径,如:

$file_db->exec("ATTACH DATABASE 'C:/Users/name/folder/Projects/htdocs/p1/dbs/yourdbfile.db' AS db2"); 

在我来说,我没有给任何路径,并且它XAMPP文件夹下生成数据库文件。