【问题标题】:MySQL query builder PHP classMySQL 查询生成器 PHP 类
【发布时间】:2012-04-16 00:32:52
【问题描述】:

我正在构建需要具有 OOP 风格的 MySQL 查询构建器的应用程序。我希望能够仅使用 PHP 灵活地构建复杂的查询,并获得结果查询字符串以使用我自己的数据库驱动程序执行。

有谁知道一个好的 PHP 独立查询构建器?请注意,我不需要数据库驱动程序,我需要裸 MySQL 查询构建器类(最好用骆驼风格的函数和变量名编写)。

【问题讨论】:

    标签: php mysql oop class


    【解决方案1】:

    最后我拿了Doctrine ORM

    并对其稍作修改以构建 SQL,而不是 DQL

    这很好用,它能够构建复杂的查询。

    编辑: 你可以在Stingle 框架中找到我最终的稳定实现。看看 Db/QueryBuilder 插件。

    【讨论】:

      【解决方案2】:

      DSQL - Query Builder for PHP 正是您正在寻找的,没有依赖关系并且拥有 MIT 许可证:

      $query = new atk4\dsql\Query();
      $query  ->table('employees')
          ->where('birth_date','1961-05-02')
          ->field('count(*)')
          ;
      echo "Employees born on May 2, 1961: ".$query->getOne();
      

      https://github.com/atk4/dsql

      文档:http://dsql.readthedocs.io/

      【讨论】:

        【解决方案3】:

        PhpToolCase 库有一个独立的查询构建器工具,使用起来非常简单方便。

        还有完整的加入支持:http://phptoolcase.com/guides/ptc-qb-guide.html

        而且,它似乎是用骆驼风格的函数和变量名编写的:)

        【讨论】:

          【解决方案4】:

          那里有一个版本的查询生成器(LGPL 许可)。我没有使用它,但你可能想看看它,如果它适合你的目的: http://code.google.com/p/mysql-query-builder/

          【讨论】:

          • 这个非常好,但是它缺乏进行左、内、外连接的能力。
          • 怎么可能“非常好”却不支持连接?这是非常基本的。它也保持了 3 年多的时间,可能不确定是否支持较新的 PHP 版本。
          猜你喜欢
          • 2017-02-02
          • 1970-01-01
          • 1970-01-01
          • 2015-12-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多