调用未定义的函数sqlite_escape_string()

时间:2011-01-27 13:07:39

标签: php

我正在使用sqlite_escape_string($ str)来准备sql语句以供将来使用。

然而,当我将我的代码迁移到新服务器时,它说:

调用未定义的函数sqlite_escape_string()

似乎是Sqlite,一切都在新服务器上工作,但即使对于sqlite_open()我也有错误。

无论如何,我只需要将我的$ str转义为sqlite安全的sql语句,我甚至需要从PHP写入sqlite,所以

4 个答案:

答案 0 :(得分:1)

这听起来像是没有为PHP启用SQLite插件。在.php文件中写入<?=phpinfo()?>,将其加载到服务器上,看看加载的插件中是否提到了SQLite。

答案 1 :(得分:0)

你需要通过删除分号来取消注释extension = php_sqlite.dll行,现在你的pdo_sqlite已经启用,sqlite_escape_string是sqlite扩展的函数,而sqlite_pdo将无法工作,直到php_sqlite被启用

答案 2 :(得分:0)

我自己找到了这个。

这是因为我的服务器是Centos 5.4,而php的sqlite支持不存在。

REL5中也应该存在同样的情况。

请参阅以下链接中的第1和第2条最新评论:

http://www.php.net/manual/en/sqlite.installation.php

我通过重新编译我的php解决了它并添加了sqlite.ini文件

答案 3 :(得分:0)

对于那些最近升级到5.4+的人,请注意php文档说,这种方法不可用5.4 +

  

(PHP 5 <5.4.0,PECL sqlite&gt; = 1.0.0)

因此您需要手动编译它,或者查看PECL。