Archive for  sqlite

PHP+PDO+SQLITE数据库开发日志

发表于 2009-12-4 20:56 : 评论 ( 没有评论 )

前言,一直在关注PHP6,也一直在努力按PHP6的标准进行开发。

目前,PDO使用比较熟练。

以下总结几点经验。

一,SQLite默认使用Utf-8编码,所以,在中文方面会遇到一些问题。

  1. 为了方便操作,我建议使用utf-8编码开发,即将PHP程序文件设置为utf-8编码。这样,读取存储数据不需要再处理即可输出。
  2. 但这里要注意,UTF-8文件中,有可能出现中文数据库文件路径出错的问题,其中就有file_exists,需要将编码转换成gb2312。
  3. 如果项目已经确定了其它编码,则需要在查询数据时转换一下编码,可能会有点复杂。

二,SQLite一些特殊的查询方法。

  1. 随机查询:mysql->order by rand();sqlite->order by random();

PHP不能连接Sqlite3的解决办法

发表于 2008-10-1 14:33 : 评论 ( 2 条评论 )

火车采集器2008的商业版中,采用了Sqlite3做为默认数据库格式,以期待存放大型数据的需求.

目前,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 database then most probably your code is accessing a SQLite3 database. sqlite_open() only supports SQLite2. Use PDO to access SQLite3. 

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

这里也回忆了一下PDO和ADOdb各是什么东东.
PDO和ADOdb均是数据库抽象层.总的功能是可以实现连接多个数据库,特别适合一个程序中实现多个数据库.
PDO支持数据库移植,如果你的部署将来有多种数据库,那就用它了.同时,PDO是C设计的,执行效率较高.他已经封装为PHP的扩展库组件了.运行快,效率高,我总结吧,还要安全一些,可以防SQL注入,初学,不知道有没有错.
ADOdb是PHP类,是一个PHP文件,相对PDO来讲,运行效率较低,但支持性也较广泛,使用起来也简单方便.

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

这里,表示一下茫然,Sqlite3出了有四年了吧,PHP5干什么吃的去了?

[...]

Sqllite介绍,下载,进阶,教程

发表于 2008-05-12 13:51 : 评论 ( 没有评论 )

1、SQLite简介
SQLite第一个Alpha版本诞生于2000年5月. 至今已经有4个年头了. 而在今年的5月SQLite也迎来了一个新的里程: SQLite 3. SQLite官方网站: http://www.sqlite.org/
2、SQLite类型
SQLite的数据类型
首先你会接触到一个让你惊讶的名词: Typelessness(无类型). 对! SQLite是无类型的. 这意味着你可以保存任何类型的数据到你所想要保存的任何表的任何列中, 无论这列声明的数据类型是什么(只有在一种情况下不是, 稍后解释). 对于SQLite来说对字段不指定类型是完全有效的. 如:
Create Table ex1(a, b, c);
诚然SQLite允许忽略数据类型, 但是仍然建议在你的Create Table语句中指定数据类型. 因为数据类型对于你和其他的程序员交流, 或者你准备换掉你的数据库引擎. SQLite支持常见的数据类型, 如:
CREATE TABLE ex2(
a VARCHAR(10),
b NVARCHAR(15),
c TEXT,
d INTEGER,
e [...]