PD\SQL is a PDO-based SQL query builder that provides an elegant and secure way to construct and execute database queries in PHP.
- Fluent interface for building SQL queries
- Safe parameter binding to prevent SQL injection
- Support for complex JOIN operations (INNER, LEFT, RIGHT)
- Dynamic WHERE clause construction
- Ordering and pagination support
- Transaction handling
- Query execution time monitoring
- Environment-based configuration
- Automatic connection management
- Table selection with
table()
- Custom field selection with
select()
- Conditional filtering with
where()
- Join operations with
join()
,left_join()
,right_join()
- Result ordering with
order_by()
- Pagination with
limit()
andoffset()
- Record creation with
insertGetId()
- Record updates with
update()
- Total row count with
total()
- Raw query execution with
query()
for complex custom queries
composer require pardnchiu/sql
<?php
use PD\SQL;
$result_user_0 = SQL::table('users')
->where("status", "active")
->where("age", ">", 18)
->get();
$result_order = SQL::table("orders")
->select("orders.*", "users.name")
->join("users", "orders.user_id", "users.id")
->where("orders.status", "pending")
->get();
$result_product = SQL::table("products")
->total()
->limit(10)
->offset(0)
->order_by("created_at", "DESC")
->get();
$result_user_1 = SQL::query(
"SELECT * FROM users WHERE status = ? AND role = ?",
["active", "admin"]
);
try {
$result = SQL::table("users")
->where("id", 1)
->update([
"status" => "active",
"updated_at" => "NOW()"
]);
if (!empty($result["info"])) {
echo "Performance: " . $result["info"];
};
} catch (\PDOException $e) {
echo "Database Error: " . $e->getMessage();
} catch (\Exception $e) {
echo "General Error: " . $e->getMessage();
};
This source code project is licensed under the MIT license.
©️ 2024 邱敬幃 Pardn Chiu