📄 sqlite.cls.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 + -