PHPackages                             erykai/database - 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. erykai/database

ActiveLibrary

erykai/database
===============

Responsible for making CRUD with database, using PDO, compatible with: Cubrid, FreeTDS / Microsoft SQL Server / Sybase, Firebird, IBM DB2, IBM Informix Dynamic Server, MySQL 3.x/4.x/5.x, Oracle Call Interface, ODBC v3 (IBM DB2, unixODBC and win32 ODBC), PostgreSQL, SQLite 3 and SQLite 2, Microsoft SQL Server / SQL Azure e MariaDB

v1.4.7(3y ago)01181MITPHPPHP &gt;=8.0

Since Jul 28Pushed 3y ago1 watchersCompare

[ Source](https://github.com/Erykai/database)[ Packagist](https://packagist.org/packages/erykai/database)[ GitHub Sponsors](https://github.com/Erykai)[ RSS](/packages/erykai-database/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)DependenciesVersions (18)Used By (1)

Database erykai/database
========================

[](#database-erykaidatabase)

[![Maintainer](https://camo.githubusercontent.com/8d0c30a6e6bb0e588086373acb7d3cb9c1ff2135f91a52d1a7a99a8670aa1090/687474703a2f2f696d672e736869656c64732e696f2f62616467652f6d61696e7461696e65722d40616c657864656f766964616c2d626c75652e7376673f7374796c653d666c61742d737175617265)](https://instagram.com/alexdeovidal)[![Source Code](https://camo.githubusercontent.com/38fba9468e6088a9b6421483e5c5f27bdc8a5e94c81fbc4f3ecd5061d0243b4b/687474703a2f2f696d672e736869656c64732e696f2f62616467652f736f757263652d6572796b61692f64617461626173652d626c75652e7376673f7374796c653d666c61742d737175617265)](https://github.com/erykai/database)[![PHP from Packagist](https://camo.githubusercontent.com/4a072aec7559cdc3a08a606d0e199d7127ab96d5a8756233ac601d53441df8b8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6572796b61692f64617461626173652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/erykai/database)[![Latest Version](https://camo.githubusercontent.com/136b23103ab9ec3b5d1062fa50c3f976625f05e4f74c5745b1207a4497c5c861/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6572796b61692f64617461626173652e7376673f7374796c653d666c61742d737175617265)](https://github.com/erykai/database/releases)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE)[![Quality Score](https://camo.githubusercontent.com/4e0d6b6fda975b14be2996ca7cab42ae00cf9b18fd109e6553d1f7fc9bd8a11a/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f6572796b61692f64617461626173652e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/erykai/database)[![Total Downloads](https://camo.githubusercontent.com/a0e36eb357d5ed5fa5d5255d88f3fb62ec3d4afc504922242748cd34e9e780ce/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6572796b61692f64617461626173652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/erykai/database)

Responsible for making CRUD with database, using PDO, compatible with: Cubrid, FreeTDS / Microsoft SQL Server / Sybase, Firebird, IBM DB2, IBM Informix Dynamic Server, MySQL 3.x/4.x/5.x, Oracle Call Interface, ODBC v3 (IBM DB2, unixODBC and win32 ODBC), PostgreSQL, SQLite 3 and SQLite 2, Microsoft SQL Server / SQL Azure e MariaDB

Installation
------------

[](#installation)

Composer:

```
"erykai/database": "1.1.*"
```

Terminal

```
composer require erykai/database
```

Create Model.php

```
namespace Erykai\Database;

class Users extends Database
{
    public function __construct()
    {
        parent::__construct(
            'users',
            ['name', 'email', 'age'],
            'id'
        );
    }
}
```

Constants

```
const CONN_USER = 'root';
const CONN_PASS = 'root';
const CONN_BASE = 'erykai';
const CONN_HOST = 'mysql';
const CONN_DSN = 'mysql';
```

CREATE

```
use Erykai\Database\Users;
require "test/config.php";
require "vendor/autoload.php";

$user = new Users();
$user->name = "Alex de Oliveira Vidal";
$user->email = "teste@webav.com.br";
$user->password = "102asda030";
$user->age = 10;
$user->save();
var_dump($user->response(), $user->data());
```

READ

```
use Erykai\Database\Users;

require "vendor/autoload.php";

$Users = new Users();

//RETURN ALL
$users = $Users->find()->fetch(true);
foreach ($users as $user) {
    echo "O $user->name existe!";
}

//RETURNS THE FIRST RESULT FOUND
$user = $Users->find()->fetch();
echo "O $user->name existe!";

//RETURNS THE FIRST RESULT OF THE QUERY
$user = $Users->find('name, email', 'name=:name', ['name'=>'Leonardo'])->fetch();
echo "O $user->name existe!";

//RETURNS ALL QUERY RESULTS
$users = $Users->find('name, email', 'name=:name', ['name'=>'Leonardo'])->fetch(true);
foreach ($users as $user) {
    echo "O $user->name existe!";
}

//RETURNS ALL QUERY RESULTS IN ORDER
$users = $Users
    ->find('name, email', 'name=:name', ['name'=>'Leonardo'])
    ->order("email", "DESC")
    ->fetch(true);
foreach ($users as $user) {
    echo "O $user->name existe!";
}

//RETURNS QUERY RESULTS LIMIT
$users = $Users
    ->find('name, email', 'name=:name', ['name'=>'Leonardo'])
    ->limit(2)
    ->fetch(true);
foreach ($users as $user) {
    echo "O $user->name existe!";
}

//RETURNS QUERY RESULTS LIMIT USING OFFSET
$users = $Users
    ->find('name, email', 'name=:name', ['name'=>'Leonardo'])
    ->limit(2)
    ->offset(2)
    ->fetch(true);
foreach ($users as $user) {
    echo "O $user->name existe!";
}

//RETURNS GROUPED QUERY RESULTS
$users = $Users
    ->find('name, email', 'name=:name', ['name'=>'Leonardo'])
    ->group('name')
    ->fetch(true);
foreach ($users as $user) {
    echo "O $user->name existe!";
}

//RETURNS RESULTS FROM MORE THAN ONE TABLE
$users = $Users
    ->find('name, email, address', 'name=:name', ['name'=>'Leonardo'])
    ->inner('INNER JOIN address ON id_user = users.id')
->fetch(true);
foreach ($users as $user) {
    echo "O $user->name existe e mora reside no endereço: $user->address!";
}

//response
var_dump($Users->response());
```

UPDATE

```
use Erykai\Database\Users;
require "test/config.php";
require "vendor/autoload.php";

$user = new Users();
$email = "absurtds@leite.com";
$user->find('*', 'email=:email',['email'=>$email])->fetch();
$users = $user->data();
$users->email = "banana@baasdasdn.cm";
$user->save();
var_dump($user->response());
```

UPDATE ALL

```
use Erykai\Database\Users;
require "test/config.php";
require "vendor/autoload.php";

$updateAll = new Users();
$updateAlls = $updateAll->find('email', 'email=:email', ['email'=>'banana@baasdasdn.cm'])->fetch(true);

foreach ($updateAll->data() as $userUpdate) {
    $user = new Users();
    $email = $userUpdate->email;
    $user->find('*', 'email=:email',['email'=>$email])->fetch();
    $users = $user->data();
    $users->email = "asdasdasd@asdasdasd.com";
    $user->save();
    var_dump($user->response());
}
```

DELETE

```
use Erykai\Database\Users;
require "test/config.php";
require "vendor/autoload.php";

$user = new Users();
$user->find('id, name', 'id=:id', ['id'=>6])->fetch();
$data = $user->data();
$user->delete($data->id);
var_dump($user->response());
```

DELETE ALL

```
use Erykai\Database\Users;
require "test/config.php";
require "vendor/autoload.php";

$removeAll = new Users();
$removeAlls = $removeAll->find('id', 'email=:email',['email'=> 'id2@leite.com'])->fetch(true);
foreach ($removeAll->data() as $userDel) {
    $user = new Users();
    $user->find('id, name', 'id=:id', ['id'=>$userDel->id])->fetch();
    $data = $user->data();
    $user->delete($data->id);
    var_dump($user->response());
}
```

Contribution
------------

[](#contribution)

All contributions will be analyzed, if you make more than one change, make the commit one by one.

Support
-------

[](#support)

If you find faults send an email reporting to .

Credits
-------

[](#credits)

- [Alex de O. Vidal](https://github.com/alexdeovidal) (Developer)
- [All contributions](https://github.com/erykai/database/contributors) (Contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License](https://github.com/erykai/database/LICENSE) for more information.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity61

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 ~16 days

Recently: every ~36 days

Total

17

Last Release

1130d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f1795fc67d400661b64ca8a84adeabe383f32b2925daed4d63ec0ef51f14837f?d=identicon)[alexdeovidal](/maintainers/alexdeovidal)

---

Top Contributors

[![alexdeovidal](https://avatars.githubusercontent.com/u/8947446?v=4)](https://github.com/alexdeovidal "alexdeovidal (28 commits)")

### Embed Badge

![Health badge](/badges/erykai-database/health.svg)

```
[![Health](https://phpackages.com/badges/erykai-database/health.svg)](https://phpackages.com/packages/erykai-database)
```

PHPackages © 2026

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