首页 >后端开发 >php教程 >利用PHP实现SQLite数据库类与用法

利用PHP实现SQLite数据库类与用法

巴扎黑
巴扎黑原创
2017-08-05 15:00:111249浏览

SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起MySQL、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。

这里为大家提供一个简洁的PHP操作SQLite类:


<?php
/***
//应用举例
require_once(&#39;cls_sqlite.php&#39;);
//创建实例
$DB=new SQLite(&#39;blog.db&#39;); //这个数据库文件名字任意
//创建数据库表。
$DB->query("create table test(id integer primary key,title varchar(50))");
//接下来添加数据
$DB->query("insert into test(title) values(&#39;泡菜&#39;)");
$DB->query("insert into test(title) values(&#39;蓝雨&#39;)");
$DB->query("insert into test(title) values(&#39;Ajan&#39;)");
$DB->query("insert into test(title) values(&#39;傲雪蓝天&#39;)");
//读取数据
print_r($DB->getlist(&#39;select * from test order by id desc&#39;));
//更新数据
$DB->query(&#39;update test set title = "三大" where id = 9&#39;);
***/
class SQLite
{
 function __construct($file)
 {
  try
  {
   $this->connection=new PDO(&#39;sqlite:&#39;.$file);
  }
  catch(PDOException $e)
  {
   try
   {
    $this->connection=new PDO(&#39;sqlite2:&#39;.$file);
   }
   catch(PDOException $e)
   {
    exit(&#39;error!&#39;);
   }
  }
 }
 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 数据库:

建立一个php文件


<?php
$conn = sqlite_open(&#39;test.db&#39;);
?>

测试这个文件能否正常运行。

如果没有能正常加载sqlite模块,就可能出现这样的错误:

Fatal error: Call to undefined function sqlite_open() in C:\Apache\Apache2\htdocs\test.php on line 2

解决办法如下:

2. 打开 php.ini 文件,将以下三行前面的分号删除:


;extension=php_sqlite.dll
;extension=php_pdo.dll
;extension=php_pdo_sqlite.dll

重新启动web服务器

以上是利用PHP实现SQLite数据库类与用法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn