• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php封装db类连接sqlite3数据库的方法实例

    前言

    SQLite3扩展名在PHP 5.3.0+以上都会默认启用。可以在编译时使用--without-sqlite3来禁用它。

    Windows用户可通过启用php_sqlite3.dll才能使用此扩展。 php_sqlite3.dll默认包含在PHP 5.3.0之后的PHP发行版中。

    有关详细的安装说明,请查看PHP教程及其官方网站。

    本文主要介绍了关于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;$icount($param);$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;$icount($memb);$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;$icount($param);$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;$icount($memb);$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;$icount($param);$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;$icount($param);$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的扩展库组件了.运行快,效率高

    更多关于PHP用PDO如何封装简单易用的DB类的内容可以参考这篇文章:https://www.jb51.net/article/119880.htm

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

    您可能感兴趣的文章:
    • php db类库进行数据库操作
    • PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
    • PHP数据库表操作的封装类及用法实例详解
    • PHP封装的PDO数据库操作类实例
    • PHP数据库处理封装类实例
    • php简单数据库操作类的封装
    • PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
    • PHP封装的mysqli数据库操作类示例
    • PHP模型Model类封装数据库操作示例
    • PHP封装的数据库模型Model类完整示例【基于PDO】
    • PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
    上一篇:PHP性能分析工具xhprof的安装使用与注意事项
    下一篇:PHP实现模拟http请求的方法分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php封装db类连接sqlite3数据库的方法实例 php,封装,类,连接,sqlite3,