scrnr / query-builder
MySQL 驱动的 QueryBuilder
Requires
- php: >=8.0
- ext-pcre: *
README
点击此处查看完整文档
目录
描述 🔝
PHP 数据库查询库是一个强大且易于使用的 PHP 库,允许您轻松编写查询到数据库并接收一个构建的查询字符串。它提供了一个简单直观的界面,用于在您的 PHP 代码中构建复杂的 SQL 语句。
特性 🔝
- 易于使用:该库提供了一个简单的接口来构建查询。您可以轻松创建复杂的 SQL 语句,而无需编写原始 SQL 代码。
- 安全:该库在设计时考虑了安全性。它使用预处理语句来防止 SQL 注入攻击。
- 灵活:该库支持多种 SQL 操作,如 SELECT、INSERT、UPDATE、DELETE。
- 面向对象方法:该库遵循面向对象的方法,使开发人员更容易在 PHP 中与数据库交互。
- 易于集成:该库易于集成到现有的 PHP 项目中。
安装 🔝
您可以使用 Composer 安装此库。只需将以下行添加到您的 composer.json
文件中
"require": { "scrnr/query-builder": "*" }
或者,您可以使用以下 命令
composer require scrnr/query-builder
如何使用 🔝
要使用此库,首先,您需要创建一个新的 QueryBuilder
类实例
use Scrnr\QueryBuilder\QueryBuilder; $queryBuilder = new QueryBuilder();
然后,您可以使用类提供的各种方法来构建您的查询。`QueryBuilder` 类有 四个 公共方法
示例 🔝
以下示例演示了如何使用 `QueryBuilder` 类来构建 SQL 语句。
<?php // Include the namespace use Scrnr\QueryBuilder\QueryBuilder; // Require the Composer autoload file require_once __DIR__ . '/vendor/autoload.php'; // Create a new QueryBuilder instance $queryBuilder = new QueryBuilder();
第一个示例 🔝
$queryBuilder->select('products')->all()->getQuery();
输出
SELECT products.* FROM products
在此示例中,我们使用 表名 和 all()
方法调用 select()
方法来选择所有列。然后,我们调用 getQuery()
方法来获取 SQL 查询。
第二个示例 🔝
$queryBuilder->select('posts') ->columns('id', 'title', 'content', 'date') ->from('category')->alias('title', 'category') ->innerJoin('categories')->on('category_id', 'id') ->getQuery();
输出
SELECT posts.id, posts.title, posts.content, posts.date, category.title AS category FROM posts INNER JOIN categories ON posts.category_id = categories.id
在此示例中,我们使用 表名 调用 select()
方法,使用 columns()
方法选择特定的列,使用 第二个表名 调用 from()
方法,并使用 alias()
方法指定列及其别名,最后使用 innerJoin()
方法连接 categories 表。最后,我们调用 getQuery()
方法来获取 SQL 查询。
第三个示例 🔝
$queryBuilder->select('products') ->all() ->where() ->equal('category') ->end() ->order() ->limit() ->getAll(['laptop', 'price', 10]);
输出
Array ( [0] => SELECT products.* FROM products WHERE products.category = :products_category ORDER BY :order ASC LIMIT :limit [1] => Array ( [:products_category] => laptop [:order] => price [:limit] => 10 ) )
在这个示例中,我们使用select()
方法传入表名和all()
方法来选择所有列。然后,我们调用where()
方法开始构建WHERE
子句,使用equal()
方法指定条件,并使用end()
方法结束WHERE
子句。接下来,我们调用order()
方法来对结果进行排序,以及limit()
方法来限制返回的结果数量。最后,我们调用getAll()
方法来获取SQL查询及其准备好的参数数组。
有关getAll()
方法的更多信息,请点击这里。
贡献 🔝
欢迎为这个库做出贡献。您可以在GitHub仓库上报告问题、建议新功能或提交拉取请求。
作者 🔝
👤 GitHub: scrnr
许可证 🔝
此库在MIT许可证下发布。请查阅LICENSE文件以获取更多信息