我正在使用sqlite_escape_string($ str)来准备sql语句以供将来使用。
然而,当我将我的代码迁移到新服务器时,它说:
调用未定义的函数sqlite_escape_string()
似乎是Sqlite,一切都在新服务器上工作,但即使对于sqlite_open()我也有错误。
无论如何,我只需要将我的$ str转义为sqlite安全的sql语句,我甚至需要从PHP写入sqlite,所以
答案 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。