davidfricker / dataabstracter
极简数据抽象和伪内容提供者框架
3
2017-04-20 09:12 UTC
Requires
- php: ^5.3.3 || ^7.0
This package is not auto-updated.
Last update: 2024-09-17 04:08:15 UTC
README
此包是PDO DBMS驱动程序的一个包装器。它可以通过一个函数调用轻松参数化查询,此外它还暴露CRUD操作。
安装
使用composer composer require DavidFricker/DataAbstracter
使用方法
use DavidFricker\DataAbstracter\Adapter\MySQLDatabaseWrapper ; $MySQLDatabaseWrapper = new MySQLDatabaseWrapper($dsn, $username, $password);
API
delete()
删除一行或多行。由于这个函数旨在作为一个简单的辅助函数,所以只使用'AND'作为where子句的粘合剂。更复杂的删除语句应使用run()
执行。
示例
$where = ['col_name' => 'expected_value']; $limit = 10; $MySQLDatabaseWrapper->delete('table_name', $where, $limit);
update()
更新一行或多行。这个函数旨在作为一个简单的辅助函数,只使用'AND'作为where子句的粘合剂。更复杂的更新语句应使用run()
执行。
示例
$data = ['col_name' => 'new_value']; $where = ['col_name' => 'expected_value']; $limit = 10; $MySQLDatabaseWrapper->update('table_name', $data, $where, $limit);
fetch()
获取一行或多行。由于这个函数旨在作为一个简单的辅助函数,所以只使用'AND'作为where子句的粘合剂。更复杂的更新语句应使用run()
执行。重要:确保$columns变量不包含用户输入,因为它会原样插入到语句中,因此可能创建SQL注入漏洞。
示例
$columns = ['col_name_1', 'col_name_2']; $where = ['col_name' => 'expected_value']; $limit = 10; $MySQLDatabaseWrapper->fetch('table_name', $columns, $where, $limit);
insert()
创建新行。
示例
$data = ['col_name_1' => 'new_value', 'col_name_2' => 'new_value']; $MySQLDatabaseWrapper->insert('table_name', $data);
run()
执行任何SQL查询。为确保查询免受SQL注入攻击,请通过$bind
数组传递所有值。
示例
$new_record = ['col_name_1' => 'new_value', 'col_name_2' => 'new_value']; $MySQLDatabaseWrapper->insert('table_name', $new_record);
rowCount()
获取上次执行的查询返回的行数。
示例
$new_record = ['col_name_1' => 'new_value', 'col_name_2' => 'new_value']; $MySQLDatabaseWrapper->insert('table_name', $new_record);
错误
请通过创建问题并提供复现问题的代码来报告错误。代码贡献总是受欢迎的。
许可证
在MIT许可证下发布。