⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlite.cls.php

📁 使PHP直接支持sqlite3数据库操作的扩展DLL
💻 PHP
字号:
<?php
class sqlite{
  var $db;
  var $resid;
  var $linkid;
  var $lastid;
  var $libversion;
  var $dbtype;
  var $errmsg;
    function sqlite($db) {
        $this->db = $db==""?":memory:":$db;
    }
    function escape($string) {
			return str_replace("'", "''", $string);
    }
	function getdbtype(){
		$fp = fopen($this->db, 'r');
		if ($fp){
			$signature = fread($fp, 47);
			if($signature == "** This file contains an SQLite 2.1 database **") $dbType = "SQLite2";
			elseif(substr($signature, 0, 15) == "SQLite format 3") $dbtype = "SQLite3";
			else $dbtype = false;
			fclose($fp);
			return $dbtype;
		}
	}
}

class sqlite3 extends sqlite {
	function sqlite3($db){
		$this->dbtype = "SQLite3";
		parent::sqlite($db);
		try {
			$this->linkid = sqlite3_open($this->db);
		} catch(Exception $e) { return 'Error: '.$e->getMessage()."\r\n";  }
	}
    function getError() {
		$errormsg[0] =  sqlite3_errcode($this->linkid);
		$errormsg[1] =  sqlite3_errmsg($this->linkid);
    	return $errormsg;
    }
	function select($sql) {
		if(substr(trim($sql), -1) != ';') $sql .= ';';
		$this->resid = sqlite3_query($this->linkid,$sql);
        $cnt = 0;
		while($row = sqlite3_featch_array($this->resid)){
			$restul[$cnt] = $row;
			$cnt ++;
		}
		sqlite3_query_close($this->res); 
	  return $result;
	}
	function execute($sql){
		if(substr(trim($sql), -1) != ';') $sql .= ';';
		$this->resid = sqlite3_exec($this->linkid,$sql);
		return sqlite3_changes($this->linkid);
	}
	function insertid() {
		return sqlite3_last_insert_rowid($this->linkid);
	}
    function cntfields() {
        return sqlite3_column_count($this->resid);
    }
    function fieldsname($index) {
        return sqlite3_column_name($this->resid, $index);
    }
	function new_function($function_name, $callback, $num_arg=null) {
		return sqlite3_create_function($this->linkid, $function_name, $callback, $num_arg);
	}
	function libversion(){
			$this->libversion = sqlite3_libversion();
			return $this->libversion;
	}
	function closedb(){
		return sqlite3_close($this->linkid);
    }
	function beginTransaction() {
		sqlite3_query($this->linkid,'BEGIN TRANSACTION;');
	}
	
	function commitTransaction() {
		sqlite3_query($this->linkid,'COMMIT TRANSACTION;');
	}
	
	function rollBackTransaction() {
		sqlite3_query($this->linkid,'ROLLBACK TRANSACTION;');
	}
}

class sqlite2 extends sqlite {
	function sqlite2() {
		$this->dbtype = 'SQLite2';
		parent::sqlite($db);
		try {
			$this->linkid = sqlite_open($this->db);
		} catch(Exception $e) { return 'Error: '.$e->getMessage()."\r\n";  }
	}
    function getError() {
		$errormsg[0] =  sqlite_last_error($this->linkid);
		$errormsg[1] = sqlite_error_string($errormsg[0]);
    	return $errormsg;
    }
	function select($sql) {
		if(substr(trim($sql), -1) != ';') $sql .= ';';
		$this->resid = sqlite_query($this->linkid,$sql);
        $cnt = 0;
		while($row = sqlite_featch_array($this->resid)){
			$restul[$cnt] = $row;
			$cnt ++;
		}
		sqlite3_query_close($this->res); 
	  return $result;
	}
	function execute($sql){
		if(substr(trim($sql), -1) != ';') $sql .= ';';
		$this->resid = sqlite_query($this->linkid,$sql);
		return sqlite_changes($this->linkid);
	}
	function insertid() {
		return sqlite_last_insert_rowid($this->linkid);
	}
    function cntfields() {
        return sqlite_num_fields($this->resid);
    }
    function fieldsname($index) {
        return sqlite_field_name($this->resid, $index);
    }
	function new_function($function_name, $callback, $num_arg=null) {
		return sqlite_create_function($this->linkid, $function_name, $callback, $num_arg);
	}
	function libversion(){
			$this->libversion = sqlite_libversion();
			return $this->libversion;
	}
	function closedb(){
		return sqlite_close($this->linkid);
    }
	function beginTransaction() {
		sqlite_query($this->linkid,'BEGIN TRANSACTION;');
	}
	
	function commitTransaction() {
		sqlite_query($this->linkid,'COMMIT TRANSACTION;');
	}
	
	function rollBackTransaction() {
		sqlite_query($this->linkid,'ROLLBACK TRANSACTION;');
	}
}
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -