unreal4u / dbmysqli
此包已被弃用且不再维护。未建议替代包。
Mysqli 包装器
v4.1.4
2013-12-27 23:52 UTC
Requires
- php: >=5.3.0
README
重要:已弃用
请永远不要使用此代码...现在有很多更好的选择。我还会存档此存储库。
致谢
此类由 unreal4u (Camilo Sperberg) 制作。 http://unreal4u.com/。然而,最初的构想并非我的,因此我想感谢 Mertol Kasanan,此类基于他的工作。有关详细信息,请参阅 http://www.phpclasses.org/browse/package/5191.html。
关于此类
- 它接收参数化简单 SQL 查询。
- 它创建 3 个数组:一个包含所有数据,另一个包含一些统计信息。可选地将所有错误记录到另一个数组以及一个有效的 XML 文件中。
- 数据库连接是单例,这意味着即使您有多个实例,您的所有查询也仅建立了一个连接。连接是在需要时建立的,而不是在初始化类时。
详细描述
此包实现了一个使用 MySQLi 扩展的 MySQL 数据库访问包装器。
有一个类用于管理 MySQL 数据库访问连接,因此在同一 PHP 脚本执行期间只建立一个连接。
另一个类实现了其他数据库访问功能,例如使用预处理查询执行查询,测量查询执行时间以及内存使用情况,将查询结果检索到数组中,结果行数,最后插入记录标识符以及将执行查询记录到有效的 XML 日志文件或直接到您的页面中。
如果查询执行时间太长,您可以将查询结果缓存到 XML 文件中,并也可以处理错误。
此包已与 xDebug、APC 和 Suhosin 广泛测试,以确保不存在错误。
基本用法
include('src/unreal4u/config.php'); // Please see below for explanation include('src/unreal4u/dbmysqli.php'); $dbLink = new unreal4u\dbmysqli(); $id_user = 23; $username = 'unreal4u'; $aResult = $dbLink->query('SELECT id,username FROM users WHERE id = ? AND username = ?',$id_user,$username); foreach($aResult AS $a) { echo 'The id of the user named '.$a['username'].' is: '.$a['id']."\n"; }
- 恭喜!
$aResult
包含您的查询结果! - 在大型查询的情况下,不要忘记取消设置结果以节省内存:
unset($aResult);
- 请参阅 index.php 以获取更多选项和高级用法
使用 composer 包含
将此添加到您的 composer.json 中
{ "require": { "unreal4u/dbmysqli": "@stable" } }
现在,您可以执行以下操作来创建一个新的 dbmysqli 类实例:
require('vendor/autoload.php'); $rutverifier = new unreal4u\dbmysqli();
待定
- 多查询支持。
- 更好的命名约定,以供将来包含其他 RDSMs。
- 转换为 PDO(以支持 :tag 类型关联)
版本历史
-
4.0.0:
- 不再使用基于 XML 的缓存,现在由 cacheManager 类(见我的其他类)负责完成所有这些工作!
- 更好的异常处理。
-
4.0.1:
- 支持多连接。
- 更好的文档。
- 代码清理和一些小改进。
-
4.1.0:
- 使类兼容 composer.phar 和 PSR-0 自动加载标准
- 文档和代码中的一些小修复
-
4.1.1:
- 修复
- 更好的文档。
-
4.1.2:
- 完全忘记了 PSR-0 下划线标准。现在类已经重构,删除了类名中使用下划线
-
4.1.3:
- 更好的文档。
- 年份更改
-
5.0.0:
- 代码的重大修改和几个修复,更新以符合(至少)PSR-2
- [BC] 结果数组现在是 SplFixedArray,占用的内存更少,应该也会更快一些
- [BC] 支持更多类型:现在返回 float 和 DateTime 对象用于这些类型的数据
- [BC] 所有方法和变量都采用驼峰式命名法
- [BC] 类现在在其适当命名空间中抛出异常
- unreal4u\databaseException 现在是 unreal4u\exceptions\database
- unreal4u\queryException 现在是 unreal4u\exceptions\query
- 修复并更新了文档
联系作者
- Twitter: @unreal4u
- 网站: http://unreal4u.com/
- Github: http://www.github.com/unreal4u