【发布时间】:2012-02-04 01:59:12
【问题描述】:
首先,我想通报一下这个案子,以免引起误解。
通过sqlite扩展,我提到了类似FTS的Sqlite扩展,而不是PHP的sqlite扩展。
我一直在我的应用程序中使用 PDO Sqlite,它无法更改。
正如我看到的here,可以加载 Sqlite 扩展,如下所示:
SELECT load_extension('xyz.so');
$db = new PDO ( 'sqlite:qwert.db' );
$db->query("SELECT load_extension('myextension.so');");
$db->query("SELECT myfunction(name) FROM table");
$rows = $db->fetchAll(PDO::FETCH_CLASS, 'stdClass');
注意:myfunction 是 myextension 的方法
但是当我从 PDO 使用这个查询进行测试时,它返回“not authorized”消息。
仅出于测试目的,我尝试PHP's Sqlite3 extension 使用以下代码加载扩展:
$db = new SQLite3('qwer.db');
$db->loadExtension('xyz.so');
有效
据我所知,PDO Sqlite 没有类似 loadExtension 的方法来加载扩展
知道我该如何处理吗?
【问题讨论】:
-
您应该添加您的代码如何连接到 sqlite 数据库,并显示您如何触发
SELECT load查询。 -
错误出现在哪里?加载扩展程序或调用
myfunction时?