如何在PHP中实现SQLite的C用户函数

时间:2016-03-15 08:18:13

标签: php sqlite user-defined-functions

我不了解sqlite3如何使用自定义函数。我只是不知道如何将添加任何自定义函数添加到数据库中。

我是否真的需要在我的机器下编译C代码文件并使用生成的DLL(我在Windows下)作为sqlite扩展?如果是这样,如何在其他操作系统(mac / linux ...)下使用此扩展?我知道sqlite是os独立的但是......

我目前有: udf_xxx.c (未编译), mysqlite3.db (已填充);我在windows10上运行。

我将使用php + sqlite,可能是在linux下。我无法进行自定义sqlite构建。

主要问题是:如何在现有的sqlite3数据库中实现UDF跨平台?

1 个答案:

答案 0 :(得分:0)

只能通过

使用C功能
  • 从C或
  • 调用sqlite3_create_function
  • 创建DLL /共享库并使用load_extension SQL函数动态加载它。 出于安全原因,默认情况下会禁用此功能,并且您的PHP很可能没有明确启用它。

创建可从PHP使用的用户定义SQL函数的最简单方法是使用PDO::sqliteCreateFunction(或过时的SQLiteDatabase::createFunction)注册PHP函数。