0
点赞
收藏
分享

微信扫一扫

PHP 之sqlite3封装与示例

书坊尚 2022-09-18 阅读 82

一、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::queryRow("select * from ay_content_ext where contentid={$id} LIMIT 1");

//执行增、删、改

 



举报

相关推荐

0 条评论