PDO 的轻量级数据库类

v1.0.0 2022-06-19 12:57 UTC

This package is auto-updated.

Last update: 2024-09-19 18:24:22 UTC


README

LightDB

LightDB

一个快速、简单、安全且轻量级的 PDO 包装器。支持易于操作和独特的功能,如 SET COLUMN = COLUMN + 1

关于作者

Nabeel Ali

网站: https://iconiccodes.com

邮箱: mail2nabeelali@gmail.com

功能

* Fast
* Easy
* Lightweight

安装

composer require nabeelalihashmi/LightDB

基本用法

LightDB::setConfig('testdb', 'root', '', 'localhost:3306');

// Insert 1 row
$country1 = [
    'country' => 'Pakistan',
    'capital' => 'Islamabad',
    'population' => 20000000
];
$id = LightDB::insert('south_asian_countries', $country1);

$result = LightDB::findById('south_asian_countries', 1);
$result = LightDB::find('south_asian_countries', 'country like ?', ['b%'], ['country', 'capital', 'population']);

注意

LightDB 允许生成如下查询:


with following example

Update table set column = column + 1 where id = 1

要生成此类查询,请在键中将省略号(..)和列名末尾放置在末尾。

$item = LightDB::update('south_asian_countries', 'id = ? ', [1] , ['population..' => 'population + 1']);

方法

getInstance

返回 PDO 对象

public static function getInstance()

setConfig

  • 设置数据库的配置
  • 参数
    • $dbname: 数据库名
    • $username: 数据库用户名
    • $password: 数据库密码
    • $host: 数据库主机
public static function setConfig($db_name, $db_user, $db_pass, $db_host)

query

  • 这是由函数内部使用以运行生成的查询。也可以由用户应用程序使用。
  • 以关联数组的形式返回查询的结果
  • 参数
    • $query: 要执行的查询
    • $params: 传递给查询的参数
public static function query($query, $args = [])

execute

*这是由函数内部使用以运行生成的查询。也可以由用户应用程序使用。*返回 PDO 语句

  • 参数
    • $query: 要执行的查询
    • $params: 传递给查询的参数
public static function execute($query, $args = [])

queryOne

*这是由函数内部使用以运行生成的查询。也可以由用户应用程序使用。*以关联数组的形式返回查询的结果

  • 参数
    • $query: 要执行的查询
    • $params: 传递给查询的参数
public static function queryOne($query, $args = [])

findById

  • 返回匹配 id 的行
  • 参数
    • $table: 表名
    • $id: 要查找的行的 ID
    • cols = 返回的列数组
public static function findById($table, $id, $cols = ['*'])

find

  • 返回匹配条件(s)的所有记录
  • 参数
    • $table: 表名
    • $extra_condition: 形式为 x = ? 的条件
    • $args: 传递给查询的参数
    • $cols = 返回的列数组
public static function find($table, $extra_condition = ' AND 1 == ?', $args = [1], $cols = ['*'])

findOne

与 find 相同,但返回一条记录

public static function findOne($table, $extra_condition = ' AND 1 == ?', $args = [1], $cols = ['*'])

insert

  • 请以关联数组的形式提供数据。键应该是列名,值应该是要插入的值
  • 返回插入行的 ID
  • 参数
    • $table: 表名
    • $data: 要插入的数据,以关联数组形式
public static function insert($table, $data)

insertAll

  • 一次性添加多行 *返回插入行的 ID
  • 参数
    • $table: 表名
    • $data: 要插入的数据,以关联数组形式
public static function insertAll($table, $data)

update

  • 更新匹配条件的记录。
  • 参数
    • $table: 表名
    • $condition: 形式为 x = ? 的条件
    • $condition_args: 传递给查询的参数
    • $data: 以关联数组形式更新的数据
public static function update($table, $conditions = "", $condition_args = [], $data = [])

deleteAll

  • 删除匹配条件(s)的所有记录
  • 返回删除的行数
  • 参数
    • $table: 表名
    • $condition: 形式为 x = ? 的条件
    • $condition_args: 传递给查询的参数
public static function deleteAll($table, $condition = '1 == 1', $args = []) {

deleteById

  • 删除匹配 id 的记录
  • 返回删除的行数
  • 参数
    • $table: 表名
    • $id: 要删除的行的 ID
public static function deleteById($table, $id)

count

  • 返回匹配条件(s)的行数
  • 参数
    • $table: 表名
    • $extra_condition: 形式为 x = ? 的条件
    • $args: 传递给查询的参数
public static function count($table, $extra_condition = ' AND 1 == ?', $args = [1])

updateOrInsert

  • 如果记录存在,则更新,否则创建新记录。
  • 返回更新行的数量
  • 参数
    • $table: 表名
    • $condition: 形式为 x = ? 的条件
    • $condition_args: 传递给查询的参数
    • $data: 要插入的数据,以关联数组形式
public static function updateOrInsert($table, $condition, $condition_args, $data)

许可证

LightDB 在以下条件下发布为宽松许可

  • 不能用于创建成人应用。
  • 不能用于赌博应用。
  • 不能用于创建含有仇恨言论的应用。

MIT 许可证

版权所有 2022 Nabeel Ali | IconicCodes.com

本软件及其相关文档文件(统称为“软件”)的副本获取者,在此获得免费使用软件的权利,不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许软件提供者进行此类操作,但须遵守以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的明示或暗示保证,包括但不限于适销性、适用于特定目的和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论该责任是基于合同、侵权或其他原因,无论该责任是否与软件或软件的使用或其他方式有关。