emmanix2002 / database-adapter
此包已被放弃,不再维护。未建议替代包。
一个简单的包,用于抽象化使用PDO连接数据库并与之交互的过程
v0.0.3
2016-08-05 11:35 UTC
Requires
- php: ~7.0
Requires (Dev)
- phpunit/phpunit: ~5.4
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
This package is auto-updated.
Last update: 2022-02-01 12:59:57 UTC
README
一个简单的包,用于抽象化使用 PDO
连接数据库并与之交互的过程。
所有代码均遵循PSR1和PSR2指南编写。
安装
通过Composer
$ composer require emmanix2002/database-adapter
用法
我们首先创建类的实例;它提供了一个 create()
实用方法,该方法接受一个作为数组的设置并填写所需的默认值。
可以通过调用 setDefault()
静态方法来更改默认值。
$config = ['host' => 'localhost', 'user' => 'user', 'password' => 'password', 'schema' => 'schema_name']; $adapter = Emmanix2002\MySqlAdapter::create($config); // OR $adapter = new Emmanix2002\MySqlAdapter('host', 'schema_name', 'user', 'password'); $record = $adapter->selectOne('SELECT * FROM `Users` WHERE `user_id`=?', 21134); var_dump($record);
用法:默认值
use Emmanix2002\MySqlAdapter; MySqlAdapter::setDefault('host', 'default_hostname'); MySqlAdapter::setDefault('schema', 'default_schema'); MySqlAdapter::setDefault('user', 'default_user'); MySqlAdapter::setDefault('password', 'default_password'); $adapterDefault = MySqlAdapter::create(); // create an adapter using the defaults $adapter = MySqlAdapter::create(['host' => 'another_hostname']); // equivalent to new MySqlAdapter('another_hostname', 'default_schema', 'default_user', 'default_password');
用法:查询
有几个方法有助于查询,它们是
exec()
selectAll()
selectOne()
exec()
应直接调用所有不返回实际响应的查询,即除 SELECT
语句之外的所有查询。它由 select*()
方法调用,但使用它们进行 SELECTing
比调用 exec()
自己要容易得多。exec()
对传递给它的所有查询使用 prepared statements
。
以下是一些示例
$sql = 'SELECT * FROM `users` WHERE `user_email`=? AND `user_status`=?'; $record = $adapter->selectOne($sql, 'username@example.com', 1); // it is also possible to do the same like so: $args = ['username@example.com', 1]; $record = $adapter->selectOne($sql, ...$args); // both will return the same value
exec()
总是返回一个值;根据传入的参数
true
:如果查询成功执行且$isSelect
参数设置为FALSE
,则返回false
:如果查询执行失败,则返回,无论$isSelect
参数的值如何array
:如果查询成功且$isSelect
参数设置为TRUE
,则返回。select*()
方法始终将$isSelect
设置为TRUE
变更日志
请参阅CHANGELOG 以获取有关最近更改的更多信息。
测试
$ composer test
贡献
请参阅CONTRIBUTING 和 CONDUCT 以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件emmanix2002@gmail.com而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。