提供一个PHP操作SQLite类:
php; auto-links:false;">
/*
* 操作sqlite的类
* edit by www.#
//应用举例
require_once('cls_sqlite.php');
//创建实例
$DB=new SQLite('blog.db'); //这个数据库" title="数据库" >数据库文件名字任意
//创建数据库" title="数据库" >数据库表。
$DB->query("create table test(id integer primary key,title varchar(50))");
//接下来添加数据
$DB->query("insert into test(title) values('小屋')");
$DB->query("insert into test(title) values('蓝雨')");
$DB->query("insert into test(title) values('Ajan')");
$DB->query("insert into test(title) values('sjolzy')");
//读取数据
print_r($DB->getlist('select * from test order by id desc'));
//更新数据
$DB->query('update test set title = "三大" where id = 9');
***/
class SQLite
{
function __construct($file){
try{
$this->connection=new PDO('sqlite:'.$file);
}catch(PDOException $e){
try{
$this->connection=new PDO('sqlite2:'.$file);
}catch(PDOException $e){
exit('error!');
}
}
}
function __destruct(){
$this->connection=null;
}
function query($sql){ //直接运行SQL,可用于更新、删除数据
return $this->connection->query($sql);
}
function getlist($sql){ //取得记录列表
$recordlist=array();
foreach($this->query($sql) as $rstmp){
$recordlist[]=$rstmp;
}
return $recordlist;
}
function Execute($sql){
return $this->query($sql)->fetch();
}
function RecordArray($sql){
return $this->query($sql)->fetchAll();
}
function RecordCount($sql){
return count($this->RecordArray($sql));
}
function RecordLastID(){
return $this->connection->lastInsertId();
}
}
?>
附,相关 PHP 配置说明:
1,先测试 PHP 能否连接 sqlite 数据库" title="数据库" >数据库:
建立一个php文件
$conn = sqlite_open('test.db');
?>
测试文件能否正常运行。
如果未能正常加载sqlite模块,可能出现如下错误:
Fatal error: Call to undefined function sqlite_open() in C:\Apache\Apache2\htdocs\test.php on line 2
解决办法:
打开 php.ini 文件,去掉以下三行前的分号,即去掉注释,使该配置节生效: ;extension=php_sqlite.dll
;extension=php_pdo.dll
;extension=php_pdo_sqlite.dll