PHP实现的简单操作SQLite数据库类与用法示例

时间:2022-10-31 19:46:43

本文实例讲述了PHP实现的简单操作SQLite数据库类与用法。分享给大家供大家参考,具体如下:

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

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

  1. <?php 
  2. /*** 
  3. //应用举例 
  4. require_once('cls_sqlite.php'); 
  5. //创建实例 
  6. $DB=new SQLite('blog.db'); //这个数据库文件名字任意 
  7. //创建数据库表。 
  8. $DB->query("create table test(id integer primary key,title varchar(50))"); 
  9. //接下来添加数据 
  10. $DB->query("insert into test(title) values('泡菜')"); 
  11. $DB->query("insert into test(title) values('蓝雨')"); 
  12. $DB->query("insert into test(title) values('Ajan')"); 
  13. $DB->query("insert into test(title) values('傲雪蓝天')"); 
  14. //读取数据 
  15. print_r($DB->getlist('select * from test order by id desc')); 
  16. //更新数据 
  17. $DB->query('update test set title = "三大" where id = 9'); 
  18. ***/ 
  19. class SQLite 
  20.  function __construct($file) 
  21.  { 
  22.   try 
  23.   { 
  24.    $this->connection=new PDO('sqlite:'.$file); 
  25.   } 
  26.   catch(PDOException $e) 
  27.   { 
  28.    try 
  29.    { 
  30.     $this->connection=new PDO('sqlite2:'.$file); 
  31.    } 
  32.    catch(PDOException $e) 
  33.    { 
  34.     exit('error!'); 
  35.    } 
  36.   } 
  37.  } 
  38.  function __destruct() 
  39.  { 
  40.   $this->connection=null
  41.  } 
  42.  function query($sql) //直接运行SQL,可用于更新、删除数据 
  43.  { 
  44.   return $this->connection->query($sql); 
  45.  } 
  46.  function getlist($sql) //取得记录列表 
  47.  { 
  48.   $recordlist=array(); 
  49.   foreach($this->query($sql) as $rstmp) 
  50.   { 
  51.    $recordlist[]=$rstmp; 
  52.   } 
  53.   return $recordlist; 
  54.  } 
  55.  function Execute($sql) 
  56.  { 
  57.   return $this->query($sql)->fetch(); 
  58.  } 
  59.  function RecordArray($sql) 
  60.  { 
  61.   return $this->query($sql)->fetchAll(); 
  62.  } 
  63.  function RecordCount($sql) 
  64.  { 
  65.   return count($this->RecordArray($sql)); 
  66.  } 
  67.  function RecordLastID() 
  68.  { 
  69.   return $this->connection->lastInsertId(); 
  70.  } 
  71. ?> 

相关 PHP 配置说明:

1. 先测试 PHP 能否连接 sqlite 数据库:

建立一个php文件

?
1
2
3
<?php
$conn = sqlite_open('test.db');
?>

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

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

Fatal error: Call to undefined function sqlite_open() in C:ApacheApache2htdocs est.php on line 2

解决办法如下:

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

?
1
2
3
;extension=php_sqlite.dll
;extension=php_pdo.dll
;extension=php_pdo_sqlite.dll

重新启动web服务器

希望本文所述对大家PHP程序设计有所帮助。