本文介绍了PHP SQLite ATTACH“没有这样的表"异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试附加多个数据库文件并从中进行选择.所有数据库文件都是同一张表,只是取值不同.
I am trying to attach multiple database files and select from them. All database files have the same one table, just different values.
这是我的方法:
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]:一般错误:1 没有这样的表:db2.wifi
我该如何解决这个问题?
how can I fix this?
如果有更好的解决方案,我会使用它.
if there is a better solution, I will use it.
推荐答案
在我研究了几个小时之后.我终于找到了解决方案.
After I have researched few hours. I finally found a solution.
给出附加数据库的完整路径,如:
Give full path of attached database, like:
$file_db->exec("ATTACH DATABASE 'C:/Users/name/folder/Projects/htdocs/p1/dbs/yourdbfile.db' AS db2");
就我而言,我没有提供任何路径,而是在 XAMPP 文件夹下生成 db 文件.
In my case I did not give any path, and it was generating db files under XAMPP folder.
这篇关于PHP SQLite ATTACH“没有这样的表"异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!