• 技术文章 >php教程 >PHP源码

    封装的Sqlite3简易操作类

    PHP中文网PHP中文网2016-05-23 16:38:48原创475
    封装的Sqlite3简易操作类

    封装的Sqlite3简易操作类,基于Sqlite3扩展写的,用法和前一个Mysql一样。
    但是要注意的是,数据库不存在时会自动创建一个,但是自动创建的数据库类型是Sqlite2数据库,这个要注意下。

    <?php
    /*
    注意细节:实例化对象时传入的是数据库的路径,要是数据库不存在的话会自动创建。
    */
    class sqlite extends SQLite3{
        public $url;
        function __construct($url){
            $this->url=$url;
            $this->open($url);
        }
        function check_input($value){
            if (get_magic_quotes_gpc()) {
                $value = sqlite_escape_string($value);
            }
            return $value;
        }
        function create($table,$name,$type=null){
            $sql = 'CREATE TABLE '.$table.'(';
            if($type==null){
                $arrname = array_keys($name);
                $arrtype = array_values($name);
            }else{
                $arrname = explode("|", $name);
                $arrtype = explode("|", $type);
            }
            for($i=0;$i<count($arrname);$i++){
                if($i==count($arrname)-1){
                    $sql = $sql.$arrname[$i]."   ".$arrtype[$i]."";
                }else{
                    $sql = $sql.$arrname[$i]."   ".$arrtype[$i].",";
                }
                 
            }
            $sql = $sql.');';
            $re = $this->query($sql);
            if($re){
                return true;
            }else{
                return fasle;
            }
        }
        function drop($table){
            $sql = 'DROP TABLE '.$table.';';
            $re = $this->query($sql);
            if($re){
                return true;
            }else{
                return false;
            }
        }
        function insert($table,$name,$value=null){
            $sql = "INSERT INTO ".$table.'(';
            if($value == null){
            $arrname = array_keys($name);
            $arrvalue = array_values($name);
            }else{
            $arrname = explode('|', $name);
            $arrvalue = explode('|', $value);
            }
            for($i=0;$i<count($arrname);$i++){
                if($i==count($arrname)-1){
                    $sql = $sql.$arrname[$i];
                }else{
                    $sql = $sql.$arrname[$i].",";
                }
            }
            $sql = $sql.")VALUES(";
            for($i=0;$i<count($arrvalue);$i++){
                if($i==count($arrvalue)-1){
                    $sql = $sql."'".$arrvalue[$i]."'";
                }else{
                    $sql = $sql."'".$arrvalue[$i]."',";
                }
            }
            $sql .=");";
            if($debug){
                echo $sql;
            }
            $re = $this->query($sql);
            if($re){
                return true;
            }else{
                return false;
            }
        }
        function delete($table,$Conditionsname,$Conditionsvalue=null){
            if($Conditionsvalue!=null){
                $sql = "DELETE FROM ".$table." WHERE ".$Conditionsname."='".$Conditionsvalue."';";
            }else{
                $sql = "DELETE FROM ".$table." WHERE ";
                $arrname = array_keys($Conditionsname);
                $arrvalue = array_values($Conditionsname);
                for($i=0;$i<count($arrname);$i++){
                    if($i==count($arrname)-1){
                        $sql.=$arrname[$i].'='."'".$arrvalue[$i]."'";
                    }else{
                        $sql.=$arrname[$i].'='."'".$arrvalue[$i]."',";
                    }
                }
                $sql.=';';
            }
            $re = $this->query($sql);
            if($re){
                return true;
            }else{
                return false;
            }
        }
        function select($table,$name,$Conditionsname,$Conditionsvalue=null){
            if($Conditionsvalue!=null){
                $sql = "SELECT ".$name." FROM ".$table." WHERE ".$Conditionsname."='".$Conditionsvalue."';";
            }else{
                $sql = "SELECT ".$name." FROM ".$table." WHERE ";
                $arrname = array_keys($Conditionsname);
                $arrvalue = array_values($Conditionsname);
                for($i=0;$i<count($arrname);$i++){
                    if($i==count($arrname)-1){
                        $sql.=$arrname[$i].'='."'".$arrvalue[$i]."'";
                    }else{
                        $sql.=$arrname[$i].'='."'".$arrvalue[$i]."' and ";
                    }
                }
                $sql.=';';
            }
            $ret = $this->query($sql);
            $row = $ret->fetchArray(SQLITE3_ASSOC);
            return $row[$name];
        }
        function update($table,$name,$value,$Conditionsname,$Conditionsvalue=null){
            if($Conditionsvalue!=null){
                $sql = "UPDATE ".$table." SET ".$name."= '".$value."' WHERE ".
                $Conditionsname."='".$Conditionsvalue."';";
            }else{
                $sql = "UPDATE ".$table." SET ".$name."= '".$value."' WHERE ";
                $arrname = array_keys($Conditionsname);
                $arrvalue = array_values($Conditionsname);
                for($i=0;$i<count($arrname);$i++){
                    if($i==count($arrname)-1){
                        $sql.=$arrname[$i].'='."'".$arrvalue[$i]."'";
                    }else{
                        $sql.=$arrname[$i].'='."'".$arrvalue[$i]."' and ";
                    }
                }
                $sql.=';';
            }
            $re = $this->query($sql);
            if($re){
                return true;
            }else{
                return false; 
            }
        }
        function group($table,$name){
            $sql = "SELECT ".$name." FROM ".$table.";";
            $return = array();
            $ret = $this->query($sql);
            while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
                array_push($return, $row[$name]);
            }
            return $return;
        }
        function fecthall($sql){
            $return = array();
            $ret = $this->query($sql);
            while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
                array_push($return, $row);
            }
            return $return;
        }
    }


    以上就是封装的Sqlite3简易操作类的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Sqlite3,操作类
    上一篇:php 阿拉伯数字转中文大写金额 下一篇:php 阿拉伯数字转中文汉字
    Web大前端开发直播班

    相关文章推荐

    • php 定义全局变量,静态变量,局部变量定义实例• php 广告点击统计代码• 剖析PHP中的输出缓冲 flush之类• PHP总结我的简单静态页生成 过程,• php截取中文字符串不乱码的方法_php实例

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网