PHP SQLite附加" no such table "异常


PHP SQLite ATTACH “no such table” exception

我试图附加多个数据库文件并从中选择。所有的数据库文件都有同一个表,只是值不同。

方法如下:

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

如何解决这个问题?

如果有更好的解决办法,我会用的。

在我研究了几个小时之后。我终于找到解决办法了。

给出附加数据库的完整路径,如:

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

在我的例子中,我没有给出任何路径,它在XAMPP文件夹下生成db文件。