nabeelalihashmi / lightdb
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
一个快速、简单、安全且轻量级的 PDO 包装器。支持易于操作和独特的功能,如 SET COLUMN = COLUMN + 1
关于作者
功能
* 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
本软件及其相关文档文件(统称为“软件”)的副本获取者,在此获得免费使用软件的权利,不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许软件提供者进行此类操作,但须遵守以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的明示或暗示保证,包括但不限于适销性、适用于特定目的和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论该责任是基于合同、侵权或其他原因,无论该责任是否与软件或软件的使用或其他方式有关。