我已经在不同的包装器之间蹦蹦跳跳,我自己,并且多年来使用直接的php mysql函数,但我确信那里有一个非常好的解决方案。它是什么? :)
编辑:只需要连接到MYSQL。
答案 0 :(得分:6)
一个非常主观的问题,你能否优先考虑你的要求......它必须是轻量级,便携式(对其他数据库)等吗?
我通常使用ADODB,这不仅仅是因为它提供了很好的数据库抽象,因此非常便携。
答案 1 :(得分:5)
对于较大的项目,我通常使用Doctrine作为对象关系映射器。它还提供了“普通”SQL查询的抽象,但它可以做更多。
它绝对可以使开发变得更加轻松。最后,您可以开发复杂的应用程序,而无需单行SQL代码。
对于Doctrine只是矫枉过正的小脚本,我只是坚持使用PDO内置的PHP。
答案 2 :(得分:4)
我将PDO与自己的包装器一起使用。 之前我使用goBD用于MySQL(扩展MySQLi),但所有文档都只是俄语。
答案 3 :(得分:3)
自2018年起,我建议使用medoo
。它是积极开发和维护的(MIT许可证)。它非常易于使用,也适合复杂的要求。它负责SQL注入,因此开发人员可以专注于功能。
Github-https://github.com/catfan/Medoo |网站-https://medoo.in
它支持-MySQL,MariaDB,MSSQL,Oracle,SQLite,PostgreSQL,Sybase
require 'vendor/autoload.php';
// Using Medoo namespace
use Medoo\Medoo;
连接
$database = new Medoo([
// required
'database_type' => 'mysql',
'database_name' => 'name',
'server' => 'localhost',
'username' => 'your_username',
'password' => 'your_password']);
要插入
$database->insert("account", [
"user_name" => "foo",
"email" => "foo@bar.com"
]);
要选择
$datas = $database->select("account", [
"user_name",
"email"
], [
"user_id[>]" => 100
]);
答案 4 :(得分:1)
如果您只想要MySQL,那么Zebra_Database很轻,有一个壮观的调试控制台,用于显示您运行的查询的详细信息,可以将查询结果缓存到磁盘或memcache,并且很容易学习和使用。
答案 5 :(得分:0)
答案 6 :(得分:0)
我建议我的AMysql库受到PDO,mysqli和Zend Framework 1所有优点的启发,但使用mysql_*
函数。
https://github.com/amcsi/amysql
它支持PHP 5.2.4+,可以做命名和未命名的客户端预备语句。它对于制作select语句没有太大的魔力,但是它对删除,更新和插入(在同一个调用中可以进行多次插入和更新)并且非常适合让你定义你想要如何接收你的结果通过选择。
它也可以由作曲家安装。这是包装页面:https://packagist.org/packages/amcsi/amysql
答案 7 :(得分:0)
我发现了一个名为Epiphany的真正好的框架。数据库包装器非常易于使用或添加。文档也很棒。如果您正在寻找轻量级解决方案,我建议使用此框架,或者至少检查EpiDatabase.php文件。
https://github.com/jmathai/epiphany
如果您需要具有更多功能的东西,接下来我会推荐Yii Framework,如果不能削减它,那么Zend Framework。只是涉及那些数据库包装器,你会找到一个你喜欢的。