hasirciogli / hdb
类似Laravel数据库的数据库类
1.0.1
2023-10-09 07:07 UTC
This package is not auto-updated.
Last update: 2024-09-24 10:18:04 UTC
README
Hasirciogli\Hdb\Database 类的 README.md
简介
此README文件提供了对Hasirciogli\Hdb\Database
类的概述,这是一个PHP类,旨在简化数据库交互,提供与Laravel数据库层类似的结构。
特性
- 连接管理:基于通过接口(
DatabaseConfigInterface
)提供的配置建立到MySQL数据库的PDO连接。 - 查询构建:通过链式方法方式促进SQL查询的构建。
- 预处理语句:使用预处理语句防止SQL注入漏洞。
- 数据绑定:允许将参数绑定到查询,以处理动态数据。
- 执行和检索:执行构建的查询,并以关联数组或单行形式检索结果。
安装
1. Composer(推荐)
如果您在项目中使用Composer,请将包添加到您的composer.json
文件中
"require": { "hasirciogli/hdb": "^1.0" // Replace with the specific version you want }
然后,运行composer install
以下载包。
2. 手动下载
下载Hasirciogli\Hdb
目录并将其包含在项目的文件结构中。
用法
1. 配置
创建一个实现DatabaseConfigInterface
的类。此接口定义了数据库凭证和连接详细信息的属性
interface DatabaseConfigInterface { const DB_HOST = 'localhost'; const DB_NAME = 'your_database_name'; const DB_USER = 'your_username'; const DB_PASS = 'your_password'; }
2. 数据库连接
实例化Database
类,传递配置类的实例
use Hasirciogli\Hdb\Database; use MyProject\DatabaseConfig; // Replace with your config class path $db = Database::cfun(new DatabaseConfig());
3. 构建查询
使用链式方法构建您的SQL查询
$users = $db->Select('users') ->Where('isActive', true) ->OrderBy('username', 'ASC') ->Get('all'); // Get all results as an array
预处理语句和数据绑定
该类自动使用预处理语句和数据绑定。您不需要手动转义值
$userId = 123; $user = $db->Select('users') ->Where('id', $userId) ->Get(); // Get a single user row
5. 其他方法
Use(string $DbName)
:选择连接中的特定数据库。LastInsertId()
:在INSERT
操作后检索最后插入的ID。Insert(string $TableName, $Dataset)
:使用指定的表名和数据构建INSERT
查询。CustomSql(string $Sql)
:允许执行原始SQL查询。
错误处理
CheckDB()
方法在无法建立数据库连接时抛出异常。请在您的代码中处理此异常以提供适当的错误消息。
安全注意事项
虽然Database
类使用了预处理语句,但仍建议在使用查询之前验证用户输入,以防止潜在的安全问题。
贡献
我们欢迎对改进此库的贡献!在GitHub上fork存储库并提交您的改进的pull请求。
许可
此库根据MIT许可证许可。