PHP操作SQLITE

一世执手 提交于 2020-03-03 16:56:59

一直以来。我们操作SQLITE,都是基于PHP默认的SQLITE操作模块。


今天介绍一个能够操作SQLITE2,和SQLITE3的PHP类,此为我封装的。

<?php
abstract class Db{
	
	public static function factory($type){
		return call_user_func(array($type , 'getInstance'));
	}
	//查询
	public abstract function getArray($query);
	//运行SQL
	public abstract function exec($query);
	//获取此次插入的ID
	public abstract function getInsertId($query);
}

class Sqlite extends Db{
	
	private static $link = null;
	
	private $conn = null;
	
	private $pdo  = null;
	
	private function __construct(){
		$conf = Config::to();
		$sqliteDsn = 'sqlite2:'.TM_PATH.'data'.DS.'csxyzs.db';//SQLITE文件路径,假设在server上,请改用绝对路径
		$this->pdo  = new PDO($sqliteDsn);//採用PDO操作
	}
	
	public static function getInstance(){
		if(is_null(self::$link)){
			self::$link = new self();
		}
		return self::$link;
	}
	
	public function getArray($query){
		$return  = array();
		$rs = $this->pdo->query($query) or die(print_r($this->pdo->errorInfo(), true));
		$return = $rs->fetchAll();
		return $return;
	}
	
	public function exec($query){
		$result = $this->pdo->exec($query) or die(print_r($this->pdo->errorInfo(), true));
		return $result;
	}
	
	public function getInsertId($query){
		$result = $this->pdo->exec($query);
		return $result;
	}
	
}

假设想使用上述代码,仅仅要在你的项目中引入这两个文件,或这两段代码。

$db = Db::factory('Sqlite');
$db->getArray('select * from table');
$db->exec('insert into table values("aa" , "bb")');

只是假设要使用PDO。请确保你的server支持例如以下显示。



本人淘宝店地址:图米网络http://www.tome178.com or tome178.taobao.com

假设要做企业站或模板站,请直接联系我。


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!