zoukankan      html  css  js  c++  java
  • PHP操作SQLITE

    一直以来。我们操作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

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


  • 相关阅读:
    假期(面试题二)
    假期(面向对象相关)
    假期(模块相关)
    假期(面试题一)
    假期(函数相关)
    最后一个假期
    Django缓存问题
    python pass关键字神奇吗
    python中类变量,成员变量
    python类中self是什么
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5315986.html
Copyright © 2011-2022 走看看