PHPackages                             guinso/hx-db - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. guinso/hx-db

ActiveLibrary[Database &amp; ORM](/categories/database)

guinso/hx-db
============

Database abstraction class

2.0.0(10y ago)024MITPHPPHP &gt;=5.6

Since Dec 27Pushed 10y ago1 watchersCompare

[ Source](https://github.com/guinso/hx-db)[ Packagist](https://packagist.org/packages/guinso/hx-db)[ RSS](/packages/guinso-hx-db/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (6)DependenciesVersions (7)Used By (0)

hx-db
=====

[](#hx-db)

RDBMS utility tool

Install Package
===============

[](#install-package)

Composer
--------

[](#composer)

```
//PHP 7
{
  "require": {
    "guinso/hx-db": "2.0.*"
  }
}

//PHP 5
{
  "require": {
    "guinso/hx-db": "1.0.*"
  }
}
```

Manual
------

[](#manual)

```
require_once("hx-db-directory/src/autoload.php");
```

Example
=======

[](#example)

Basic PDO operation
-------------------

[](#basic-pdo-operation)

```
$pdo = new \PDO(...); //put standard parameter for PDO
$db = new \Hx\Db\SimpleDb($pdo);

//execute SQL
$sql = "SELECT * FROM account WHERE name = :name";
$pdoStatement = $db->runSql(
  $sql,
  array(":name" => "john")
);
foreach($row in $pdoStatement)
  //process each row data...

//execute SQl from file
$result = $db->runSqlFile("sql-script-file-path"); //only return number of affect row (Int)

//transaction
$db->BeginTransaction();
$db->CommitTransaction();
$db->RollBackTransaction(); //rollback
```

SQL script Generator
--------------------

[](#sql-script-generator)

Currently only support simple SELECT, INSERT, and UPDATE SQL

```
$pdo = new \PDO(...);
$sqlService = new \Hx\Db\SqlService(new \Hx\Db\SimpleDb($pdo));

//Select SQL
$sqlSelect = $sqlService->createSelectSql();
$sqlSelect->table("datatable-name a")
  ->column("a.name")
  ->column("a.address AS addr")
  ->where("a.age > :age")
  ->order("a.name DESC")
  ->group("a.nationality")
  ->join("INNER JOIN", "invoice b", "a.name = b.name")
  ->paginate(0, 10);

//to get sql script
$sqlScript = $sqlSelect->generateSql();

//to direct execute
$sqlStatement = $sqlSelect->execute(array(":age" => 18));
```

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~32 days

Recently: every ~39 days

Total

6

Last Release

3678d ago

Major Versions

1.0.5 → 2.0.02016-06-04

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1818236?v=4)[Benjamin Ching](/maintainers/guinso)[@guinso](https://github.com/guinso)

---

Top Contributors

[![guinso](https://avatars.githubusercontent.com/u/1818236?v=4)](https://github.com/guinso "guinso (3 commits)")

---

Tags

database

### Embed Badge

![Health badge](/badges/guinso-hx-db/health.svg)

```
[![Health](https://phpackages.com/badges/guinso-hx-db/health.svg)](https://phpackages.com/packages/guinso-hx-db)
```

###  Alternatives

[doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.

9.7k595.8M6.5k](/packages/doctrine-dbal)[doctrine/orm

Object-Relational-Mapper for PHP

10.2k295.3M7.2k](/packages/doctrine-orm)[doctrine/doctrine-bundle

Symfony DoctrineBundle

4.8k249.9M3.9k](/packages/doctrine-doctrine-bundle)[doctrine/migrations

PHP Doctrine Migrations project offer additional functionality on top of the database abstraction layer (DBAL) for versioning your database schema and easily deploying changes to it. It is a very easy to use and a powerful tool.

4.8k212.9M508](/packages/doctrine-migrations)[doctrine/data-fixtures

Data Fixtures for all Doctrine Object Managers

2.9k141.0M563](/packages/doctrine-data-fixtures)[robmorgan/phinx

Phinx makes it ridiculously easy to manage the database migrations for your PHP app.

4.5k47.9M443](/packages/robmorgan-phinx)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
