<?php
class dbmanager
$this->db = new sqlite3('./db.php');
}function init()
function changes()
function query($sql,$param=null,$memb=null)else
}$rs=$stmt->execute();
if(!$rs)
$arr=$rs->fetcharray(sqlite3_num);
$rs->finalize();
$stmt->close();
if(!$arr)
return null;
if(!$memb)
return $arr;
$res=array();
for($i=0;$idb->prepare($sql);
if(!$stmt)
return false;
if($param)else
}$rs=$stmt->execute();
if(!$rs)
$res=array();
while($arr=$rs->fetcharray(sqlite3_num))
if(count($memb)==1 && $memb[0]==null)
$it=array();
for($i=0;$ifinalize();
$stmt->close();
return $res;
}function querysingle($sql,$param=null)
function querysingleall($sql,$param=null)else
}$rs=$stmt->execute();
if(!$rs)
$res=array();
while($arr=$rs->fetcharray(sqlite3_num))
$rs->finalize();
$stmt->close();
return $res;
}function exec($sql,$param=null)else
}$rs=$stmt->execute();
if($rs) else
$stmt->close();
return $res;
}function begin()
function rollback()
function commit()
function escapestring($s)
//最新插入的id
function lastinsertrowid()
function lasterrormsg ()
}?>
pdo支援資料庫移植,如果你的部署將來有多種資料庫,那就用它了.同時,pdo是c設計的,執行效率較高.他已經封裝為php的擴充套件庫元件了.執行快,效率高
class dbmanager
private function bind_param($stmt,&$param) else }}
function exec($sql, $param = null)
$this->bind_param($stmt,$param);
$res = $stmt -> execute();
if($res)
$stmt -> closecursor();
return $res;
}function query($sql,$param=null,$name=true)
$this->bind_param($stmt,$param);
$res = $stmt -> execute();
if(!$res)
$arr=$stmt->fetch($name?pdo::fetch_assoc:pdo::fetch_num);
$stmt -> closecursor();
return $arr;
}function queryall($sql,$param=null,$name=true)
$this->bind_param($stmt,$param);
$res = $stmt -> execute();
if(!$res)
$arr=$stmt->fetchall($name?pdo::fetch_assoc:pdo::fetch_num);
$stmt -> closecursor();
return $arr;
}function querysingle($sql,$param=null,$name=true)
$this->bind_param($stmt,$param);
$res = $stmt -> execute();
if(!$res)
$arr=$stmt->fetchcolumn();
$stmt -> closecursor();
return $arr;
}function querysingleall($sql,$param=null,$name=true)
$this->bind_param($stmt,$param);
$res = $stmt -> execute();
if(!$res)
$arr=;
dowhile($item!==false);
$stmt -> closecursor();
return $arr;
}public function begin()
public function rollback()
public function commit() }/*
$db=new dbmanager("db.json");
$db->exec('create table user(id integer primary key not null)');
$db->exec('insert into user(id) values(?)',1);
var_dump($db->query('select * from user where id=?',1));
var_dump($db->queryall('select * from user where id=?',1));
var_dump($db->querysingle('select * from user where id=?',1));
var_dump($db->querysingleall('select * from user where id=?',1));
*/?>
這是修改為pdo版本的原生db類
匯入的json配置檔案
我這裡只是方便前端修改,也可以搞成php檔案
封裝自己的DB類(PHP)
封裝乙個db類,用來專門運算元據庫,以後凡是對資料庫的操作,都由db類的物件來實現。這樣有了自己的db類,寫專案時簡單的sql語句就不用每次寫了,直接呼叫就行,很方便!1.封裝乙個db類。乙個類檔案應該只有乙個類,其他的內容全部都沒有。類檔案的命名規則 類名.class.php 下面是建立db類的 ...
封裝自己的DB類(PHP)
封裝乙個db類,用來專門運算元據庫,以後凡是對資料庫的操作,都由db類的物件來實現。這樣有了自己的db類,寫專案時簡單的sql語句就不用每次寫了,直接呼叫就行,很方便!1.封裝乙個db類。乙個類檔案應該只有乙個類,其他的內容全部都沒有。類檔案的命名規則 類名.class.php 下面是建立db類的 ...
php封裝db類連線sqlite3資料庫的方法例項
前言 sqlite3swcfz副檔名在php 5.3.0 以上都會預設啟用。可以在編譯時使用 without sqlite3來禁用它。windows使用者可通過啟用php sqlite3.dll才能使用此擴充套件。php sqlite3.dll預設包含在php 5.3.0之後的php發行版中。有關詳...