PHP中sqlite3的使用

1 篇文章 0 订阅

SQLite是一种轻量级的关系型数据库,可以内嵌在我们的应用程序中一起发布出去,这样我们在部署应用的时候,就不需要额外数据库的支持了。

在php中如果要使用sqlite,只需开启php_sqlite3.dll扩展即可,非常方便。下面是我曾经的一个项目中,自己编写的一个操作SQLite数据库的工具类。

<?php

class SQLiteDB extends SQLite3 {
	function __construct(){
		try {
			$this->open(dirname(__FILE__).'/../data/sqlite_ecloud.db');
		}catch (Exception $e){
			die($e->getMessage());
		}
	}
}

class DBUtils {
	
	private static $db;
	
	private static function instance(){
		if (!self::$db) {
			self::$db = new SQLiteDB();
		}		
	}

	/**
	 * 创建表
	 * @param string $sql
	 */
	public static function create($sql){
		self::instance();
		$result = @self::$db->query($sql);
		if ($result) {
			return true;
		}
		return false;
	}

	/**
	 * 执行增删改操作
	 * @param string $sql
	 */
	public static function execute($sql){
		self::instance();
		$result = @self::$db->exec($sql);
		if ($result) {
			return true;
		}
		return false;
	}

	/**
	 * 获取记录条数
	 * @param string $sql
	 * @return int
	 */
	public static function count($sql){
		self::instance();
		$result = @self::$db->querySingle($sql);
		return $result ? $result : 0;
	}

	/**
	 * 查询单个字段
	 * @param string $sql
	 * @return void|string
	 */
	public static function querySingle($sql){
		self::instance();
		$result = @self::$db->querySingle($sql);
		return $result ? $result : '';
	}

	/**
	 * 查询单条记录
	 * @param string $sql
	 * @return array
	 */
	public static function queryRow($sql){
		self::instance();
		$result = @self::$db->querySingle($sql,true);
		return $result;
	}

	/**
	 * 查询多条记录
	 * @param string $sql
	 * @return array
	 */
	public static function queryList($sql){
		self::instance();
		$result = array();
		$ret = @self::$db->query($sql);
		if (!$ret) {
			return $result;
		}
		while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
			array_push($result, $row);
		}
		return $result;		
	}
}

?>
调用方式:

引入DBUtils.php文件,然后通过 DBUtils::方法名 这种形式,即可操作SQLite数据库了。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值