本文介绍了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“没有这样的表"异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-16 02:33