博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP不能连接Sqlite3的解决办法:PDO
阅读量:4630 次
发布时间:2019-06-09

本文共 1059 字,大约阅读时间需要 3 分钟。

目前,PHP5.3以前的版本还不能直接支持Sqlite3,即不支持DB3后缀的Sqlite数据库文件.使用PHP连接Sqlite3时会报错,以下为一个解决办法:

If you get an error message:Warning: sqlite_open() [function.sqlite-open]: file is encrypted or is not a databasethen most probably your code is accessing a SQLite3 database.sqlite_open() only supports SQLite2. Use PDO to access SQLite3.

目前找到的解决办法是使用PDO即可连接Sqlite3.

PDO和ADOdb均是数据库抽象层.总的功能是可以实现连接多个数据库,特别适合一个程序中实现多个数据库.

PDO支持数据库移植,如果你的部署将来有多种数据库,那就用它了.同时,PDO是C设计的,执行效率较高.他已经封装为PHP的扩展库组件了.运行快,效率高,我总结吧,还要安全一些,可以防SQL注入,初学,不知道有没有错.

ADOdb是PHP类,是一个PHP文件,相对PDO来讲,运行效率较低,但支持性也较广泛,使用起来也简单方便.

据说Adodb也支持Sqlite,不过,ADOdb也是基于PHP的组件,那么肯定也不支持SQLite3了,所以PDO是解决这个问题的唯一办法.当然,使用php5.3或者更高版本可以直接解决问题。

然后记下PDO的下载地址,以及PDO与SQLite的连接方法:

  • PDO下载地址:
  • DO_Sqlite 函数及语法:

下载以后并行安装就可以了,PHP5.1已经内置了PDO的相关组件,我们要做的就是打开PHP.ini把PDO和PDO_sqlite启用了。

extension=php_pdo.dllextension=php_pdo_sqlite.dll

启用PDO和PDO_dqlite以后,我就开始写一段测试代码,拷了一个任务数据库到程序目录中以备测试.

query('SELECT id FROM content limit 10;') as $row){ echo $row[0]; }?>
View Code

转载于:https://www.cnblogs.com/zhaiqianfeng/archive/2012/07/10/4616802.html

你可能感兴趣的文章
std::string的Copy-on-Write:不如想象中美好
查看>>
KONG -- 配置 service 并添加 key-auth
查看>>
多重继承和有内嵌对象时构造函数调用顺序
查看>>
C#编码规范
查看>>
信号、槽位及布局
查看>>
webpack + vue
查看>>
启动JvisualVM提示"无法检测到本地java应用程序"的解决方案
查看>>
抓包实现脚本编写--手持机
查看>>
PHP+nginx 线上服务研究(一)
查看>>
Python学习教程:超干货—Python3内置模块之json编解码方法小结
查看>>
谷歌浏览器的一个新特点—关于获取iframe的parent对象
查看>>
iOS开发Swift篇—(二)变量和常量
查看>>
Windows底层开发前期学习准备工作
查看>>
【C语言及程序设计】项目1-39-3:反序数
查看>>
算法——查找常用字符
查看>>
ANDORID~支持的设备
查看>>
国内外 Java Script 经典封装
查看>>
[vs2005]关于预编绎网站的问题[已预编译此应用程序的错误]
查看>>
find_in_set
查看>>
[HEOI2015]定价
查看>>