日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 仓储 sqlite_详解php封装db类连接sqlite3

發布時間:2025/3/19 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 仓储 sqlite_详解php封装db类连接sqlite3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

sqlite3_open是sqlite數據庫的api函數(C/C++),作用是打開(或創建)一個數據庫文件。本文主要和大家分享php封裝db類連接sqlite3 的知識,希望能幫助到大家。<?php

class dbManager{

public $db;

function __construct(){

if(!file_exists('./db.php')){

$this->init();

return;

}

$this->db = new SQLite3('./db.php');

}

function init(){

$this->db = new SQLite3('./db.php');

// TODO:

}

function changes(){

return $this->db->changes();

}

function query($sql,$param=null,$memb=null){

$stmt=$this->db->prepare($sql);

if(!$stmt)

return false;

if($param){

if(is_array($param)){

for($i=0;$i

$stmt->bindValue($i+1,$param[$i]);

}else{

$stmt->bindValue(1,$param);

}

}

$rs=$stmt->execute();

if(!$rs){

$stmt->close();

return false;

}

$arr=$rs->fetchArray(SQLITE3_NUM);

$rs->finalize();

$stmt->close();

if(!$arr)

return null;

if(!$memb)

return $arr;

$res=array();

for($i=0;$i

$res[$memb[$i]]=$arr[$i];

}

return $res;

}

function queryAll($sql,$param=null,$memb=null){

$stmt=$this->db->prepare($sql);

if(!$stmt)

return false;

if($param){

if(is_array($param)){

for($i=0;$i

$stmt->bindValue($i+1,$param[$i]);

}else{

$stmt->bindValue(1,$param);

}

}

$rs=$stmt->execute();

if(!$rs){

$stmt->close();

return false;

}

$res=array();

while($arr=$rs->fetchArray(SQLITE3_NUM)){

if(!$memb) {

$res[]=$arr;

continue;

}

if(count($memb)==1 && $memb[0]==null){

$res[]=$arr[0];

continue;

}

$it=array();

for($i=0;$i

$it[$memb[$i]]=$arr[$i];

}

$res[]=$it;

}

$rs->finalize();

$stmt->close();

return $res;

}

function querySingle($sql,$param=null){

$res=$this->query($sql,$param);

if(!$res)

return false;

return $res[0];

}

function querySingleAll($sql,$param=null){

$stmt=$this->db->prepare($sql);

if(!$stmt)

return false;

if($param){

if(is_array($param)){

for($i=0;$i

$stmt->bindValue($i+1,$param[$i]);

}else{

$stmt->bindValue(1,$param);

}

}

$rs=$stmt->execute();

if(!$rs){

$stmt->close();

return false;

}

$res=array();

while($arr=$rs->fetchArray(SQLITE3_NUM)){

$res[]=$arr[0];

}

$rs->finalize();

$stmt->close();

return $res;

}

function exec($sql,$param=null){

$stmt=$this->db->prepare($sql);

if(!$stmt)

return false;

if($param){

if(is_array($param)){

for($i=0;$i

$stmt->bindValue($i+1,$param[$i]);

}else{

$stmt->bindValue(1,$param);

}

}

$rs=$stmt->execute();

if($rs) {

$res=true;

$rs->finalize();

}else{

$res=false;

}

$stmt->close();

return $res;

}

function begin(){

return $this->exec('BEGIN');

}

function rollback(){

return $this->exec('ROLLBACK');

}

function commit(){

return $this->exec('COMMIT');

}

function escapeString($s){

return $this->db->escapeString($s);

}

//最新插入的id

function lastInsertRowID(){

return $this->db->lastInsertRowID();

}

function lastErrorMsg (){

return $this->db->lastErrorMsg();

}

}

?>

PDO支持數據庫移植,如果你的部署將來有多種數據庫,那就用它了.同時,PDO是C設計的,執行效率較高.他已經封裝為PHP的擴展庫組件了.運行快,效率高

相關推薦:

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的php 仓储 sqlite_详解php封装db类连接sqlite3的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。