PHP 之sqlite3封装与示例


一、sqlite3封装

复制代码
<?php

class SQLiteDB extends SQLite3 {
    function __construct(){
        try {
            //打开数据库文件
            $this->open('./ccfcf4572e60f80522c1cf0f8e4b95c3.db');
        }catch (Exception $e){
            die($e->getMessage());
        }
    }
}

class DBUtils
{

    private static $db;

    private static function instance()
    {
        if (!self::$db) {
            self::$db = new SQLiteDB();
        }
    }

    /**
     * 创建表
     * @param string $sql
     */
    public static function create($sql)
    {
        self::instance();
        $result = @self::$db->query($sql);
        if ($result) {
            return true;
        }
        return false;
    }

    /**
     * 执行增删改操作
     * @param string $sql
     */
    public static function execute($sql)
    {
        self::instance();
        return @self::$db->exec($sql);
        $result = @self::$db->exec($sql);
        if ($result) {
            return true;
        }
        return false;
    }

    /**
     * 获取记录条数
     * @param string $sql
     * @return int
     */
    public static function count($sql)
    {
        self::instance();
        $result = @self::$db->querySingle($sql);
        return $result ? $result : 0;
    }

    /**
     * 查询单个字段
     * @param string $sql
     * @return void|string
     */
    public static function querySingle($sql)
    {
        self::instance();
        $result = @self::$db->querySingle($sql);
        return $result ? $result : '';
    }

    /**
     * 查询单条记录
     * @param string $sql
     * @return array
     */
    public static function queryRow($sql)
    {
        self::instance();
        $result = @self::$db->querySingle($sql, true);
        return $result;
    }

    /**
     * 获取插入id
     * @param $table
     * @return mixed
     */
    public static function getLastInsertId($table)
    {
        return self::$db->querySingle('select last_insert_rowid() from '.$table.' LIMIT 1');
    }

    /**
     * 查询多条记录
     * @param string $sql
     * @return array
     */
    public static function queryList($sql)
    {
        self::instance();
        $result = array();
        $ret = @self::$db->query($sql);
        if (!$ret) {
            return $result;
        }
        while ($row = $ret->fetchArray(SQLITE3_ASSOC)) {
            array_push($result, $row);
        }
        return $result;
    }
}
复制代码

二、简单示例

//获取列表
DBUtils::queryList("select * from ay_content where scode=$old_scode");
//获取数量
DBUtils::count("select * from ay_content where acode='en' and title='{$v['title']}'");
//获取插入的id
DBUtils::querySingle('select last_insert_rowid() from ay_content LIMIT 1');
//获取单条数据
DBUtils::queryRow("select * from ay_content_ext where contentid={$id} LIMIT 1");
//执行增、删、改
DBUtils::execute(sql语句);

 

如果你感觉有收获,欢迎给我打赏 ———— 以激励我输出更多优质内容,联系QQ:2575404985
        
posted @   样子2018  阅读(336)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示

目录导航

一、sqlite3封装
二、简单示例