请选择 进入手机版 | 继续访问电脑版

ylsunyuan技术论坛中心

 找回密码
 注册(请使用中文注册)
搜索
热搜: 活动 交友 discuz
查看: 183|回复: 0

简洁的PHP操作SQLite类

[复制链接]

123

主题

126

帖子

614

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
614
发表于 2018-1-26 22:16:43 | 显示全部楼层 |阅读模式
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. {
  21.     function __construct($file)
  22.     {
  23.         try
  24.         {
  25.             $this->connection=new PDO('sqlite:'.$file);
  26.         }
  27.         catch(PDOException $e)
  28.         {
  29.             try
  30.             {
  31.                 $this->connection=new PDO('sqlite2:'.$file);
  32.             }
  33.             catch(PDOException $e)
  34.             {
  35.                 exit('error!');
  36.             }
  37.         }
  38.     }

  39.     function __destruct()
  40.     {
  41.         $this->connection=null;
  42.     }

  43.     function query($sql) //直接运行SQL,可用于更新、删除数据
  44.     {
  45.         return $this->connection->query($sql);
  46.     }

  47.     function getlist($sql) //取得记录列表
  48.     {
  49.         $recordlist=array();
  50.         foreach($this->query($sql) as $rstmp)
  51.         {
  52.             $recordlist[]=$rstmp;
  53.         }
  54.         return $recordlist;
  55.     }

  56.     function Execute($sql)
  57.     {
  58.         return $this->query($sql)->fetch();
  59.     }

  60.     function RecordArray($sql)
  61.     {
  62.         return $this->query($sql)->fetchAll();
  63.     }

  64.     function RecordCount($sql)
  65.     {
  66.         return count($this->RecordArray($sql));
  67.     }

  68.     function RecordLastID()
  69.     {
  70.         return $this->connection->lastInsertId();
  71.     }
  72. }
  73. ?>
复制代码
相关 PHP 配置说明:

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

建立一个php文件


  1. <?php
  2. $conn  =  sqlite_open('test.db');
  3. ?>
  4.   
复制代码
测试这个文件能否正常运行。

如果没有能正常加载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服务器



http://blog.csdn.net/diandian_520/article/details/7231855




回复

使用道具 举报

本版积分规则

QQ|Archiver|手机版|小黑屋|ylsunyuan技术论坛 ( 桂ICP备14005218号-1

GMT+8, 2018-9-20 00:38 , Processed in 0.088575 second(s), 33 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表