shuraih / dbflex
一个简单且灵活的数据库对象库
v1.3.0
2024-08-11 21:22 UTC
Requires
- php: >=7.4
- ext-pdo: *
This package is auto-updated.
Last update: 2024-09-11 21:43:02 UTC
README
DBFlex 是一个轻量级的 PHP 数据库抽象库,旨在通过 PDO 简化数据库操作。它提供了一种流畅的接口来执行常见的数据库操作,如选择、插入、更新、删除记录和处理事务。
要求
- PHP 7.4 或更高版本
- PDO 扩展已启用
- MySQL 数据库
- SQLITE3 数据库
安装
通过 Composer
通过 Composer 将 DBFlex 添加到您的项目中。在项目目录中运行以下命令
composer require shuraih/dbflex
手动安装
下载 DBFlex 库并将其包含到您的项目中
用法
初始化 DBFlex 类
require_once 'path/to/DBFlex.php';
// Initialize the DB class with MYSQL database credentials
$db = new DBFlex('mysql', 'localhost', 'dbuser', 'dbpassword', 'test_db');
// Initialize the DB class with SQLITE database credentials
$dbPath = 'sqlite.db';
$db = new DBFlex('sqlite', null, null, null, null, $dbPath);
插入数据
$data = ['name' => 'John Doe',
'email' => 'john@example.com'];
$id = $db->table('users')->insert($data);
echo "Inserted ID: " . $id . "\n"; ###getting last inserted ID;
选择特定列
$db->table('users')->select('name')->where('id', $id);
$results = $db->get();
echo "Select Result:\n";
print_r($results);
选择所有列
$db->table('users');
$results = $db->get();
echo "Select Result:\n";
print_r($results);
使用等于运算符的 where 子句
$db->table('users')->select('name')->where('id', $id, '=');
$results = $db->get();
echo "Select Result:\n";
print_r($results);
使用小于运算符的 where 子句
$db->table('users')->select('name')->where('id', $id, '<');
$results = $db->get();
echo "Select Result:\n";
print_r($results);
使用大于运算符的 where 子句
$db->table('users')->select('name')->where('id', $id, '>');
$results = $db->get();
echo "Select Result:\n";
print_r($results);
使用默认的等于运算符的 where 子句
$db->table('users')->select('name')->where('id', $id);
$results = $db->get();
echo "Select Result:\n";
print_r($results);
更新数据
$data = ['name' => 'Jane Doe'];
$db->table('users')->where('id', $id)->update($data);
$db->table('users')->select('name')->where('id', $id);
$results = $db->get();
echo "Updated Result:\n";
print_r($results);
删除数据
$db->table('users')->where('id', $id)->delete();
$db->table('users')->select()->where('id', $id);
$results = $db->get();
echo "After Delete:\n";
print_r($results);
计数
$count = $db->table('users')->count();
echo "User Count: " . $count . "\n";
排序
$db->table('users')->select('name')->orderBy('name', 'DESC');
$results = $db->get();
echo "Ordered Results:\n";
print_r($results);
分页的 Limit
$db->table('users')->select('name')->limit(1);
$results = $db->get();
echo "Limited Results:\n";
print_r($results);
分页的 Offset
$db->table('users')->select('name')->offset(1)->limit(1);
$results = $db->get();
echo "Offset Results:\n";
print_r($results);
连接:内连接
$db->table('users')
->select('users.name, orders.id')
->join('orders', 'users.id', '=', 'orders.user_id');
$results = $db->get();
echo "Join Results:\n";
print_r($results);
左连接
echo " Left Join...\n";
$db->table('users')
->select('users.name', 'orders.product')
->leftJoin('orders', 'users.id', '=', 'orders.user_id');
$results = $db->get();
echo "Left Join Results:\n";
print_r($results);
右连接
echo " Right Join...\n";
$db->table('users')
->select('users.name', 'orders.product')
->rightJoin('orders', 'users.id', '=', 'orders.user_id');
$results = $db->get();
echo "Right Join Results:\n";
print_r($results);
获取第一条数据
$db->table('users')->where('status', 1)->first();
print_r($results);
原始查询
$db->raw('SELECT * FROM users WHERE email = ?', ['john@example.com']);
$results = $db->get();
echo "Raw Query Results:\n";
print_r($results);
分组
$db->table('orders')->select('COUNT(*) as count')->groupBy('status');
$results = $db->get();
echo "GroupBy Results:\n";
print_r($results);
搜索
$db->table('users')->select('name')->search(['name'], 'John');
$results = $db->get();
echo "Search Results:\n";
print_r($results);
事务
$db->startTransaction();
if($db->table('users')->insert($data))
{
$db->commit();
} else {
$db->rollback();
}
作者
- Shuraihu Usman
- +2348140419490
- shuraihusman@gmail.com