PHPackages                             devman87/simple-pdo-wrapper - 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. devman87/simple-pdo-wrapper

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

devman87/simple-pdo-wrapper
===========================

Simple Pdo Wrapper

v1(6y ago)08Apache-2.0PHPPHP &gt;=7.1.0

Since May 11Pushed 6y ago1 watchersCompare

[ Source](https://github.com/devman87/simplePdoWrapper)[ Packagist](https://packagist.org/packages/devman87/simple-pdo-wrapper)[ Docs](https://github.com/devman87/simplePdoWrapper)[ RSS](/packages/devman87-simple-pdo-wrapper/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

**Simple Pdo Wrapper**

**Installation**

```
composer require devman87/simple-pdo-wrapper

```

**Example config file**

```
return [
    'default' => 'config1',
    'config1' => [
        'dsn' => 'mysql:host=localhost;dbname=testdb;charset=utf8mb4',
        'username' => 'test',
        'password' => 'test',
        'options' => [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_EMULATE_PREPARES => false,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
        ]
    ],
    'config2' => [
        'hostname' => "pgsql:dbname=testdb;host=localhost options='--client_encoding=UTF8';",
        'username' => 'test',
        'password' => 'test',
        'options' => [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_EMULATE_PREPARES => false,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
        ]
    ]
];
```

**Usage example**

```
use SimplePdoWrapper\DB;
// Indicate this only 1 time, at the beginning of the application
DB::setConfig('your-config.php');
DB::connection(); // connection default, you can explicitly specify. Example: DB::connection('config1') or DB::connection('config2');

// sql requests
DB::request('SELECT * FROM table WHERE id = ?', [$id])->fetchAll();
DB::request('INSERT INTO table (column1, column2) VALUES (?, ?)', ['John', 'Doe']);
```

Transaction

```
try {
    DB::beginTransaction();

    if (DB::request('UPDATE table1 SET column = ? WHERE id = ?', [$value1, $id1])->rowCount() < 1) {
        return false;
    }

    if (DB::request('UPDATE table2 SET column = ? WHERE id = ?', [$value2, $id2])->rowCount() < 1) {
        return false;
    }

    DB::commit();
    return true;
} catch (\PDOException $e) {
    DB::rollBack();
}
```

Get pdo object

```
$pdo = DB::getPdo();
```

You can use pdo methods

```
DB::query('SELECT * FROM table')->fetchAll();
```

Multiple database connections

```
// connect to config1.
DB::connection(); /* or DB::connection('config1'); */
DB::query('SELECT * FROM table')->fetchAll();

// connect to config2. Now all requests will be from config2
DB::connection('config2');
DB::query('SELECT * FROM table')->fetchAll();

/* We return to config1. Now all requests will be from config1. We have already connected to config1, for performance,
 the DB class stores all connections in array, so there will not reconnection to config1.*/
DB::connection(); /* or DB::connection('config1'); */
DB::query('SELECT * FROM table')->fetchAll();
```

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 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

Unknown

Total

1

Last Release

2198d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/444bb918bb5d332a6a005336bd4dc488f4e849ba8f541973daa5125a37f1a35b?d=identicon)[devman87](/maintainers/devman87)

---

Top Contributors

[![devman87](https://avatars.githubusercontent.com/u/43349919?v=4)](https://github.com/devman87 "devman87 (1 commits)")

---

Tags

pdopdo\_mysqlpdo\_pgsqlpdo-wrapperpdo\_sqlitepdo-phppdowrapper

### Embed Badge

![Health badge](/badges/devman87-simple-pdo-wrapper/health.svg)

```
[![Health](https://phpackages.com/badges/devman87-simple-pdo-wrapper/health.svg)](https://phpackages.com/packages/devman87-simple-pdo-wrapper)
```

###  Alternatives

[doctrine/dbal

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

9.7k578.4M5.6k](/packages/doctrine-dbal)[workerman/mysql

Long-living MySQL connection for daemon.

6378.3k8](/packages/workerman-mysql)[lapaygroup/doctrine-cockroachdb

Doctrine CockroachDB Driver (Symfony supports)

113.9k](/packages/lapaygroup-doctrine-cockroachdb)

PHPackages © 2026

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