PHPackages                             shivanraptor/php-db-manager - 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. shivanraptor/php-db-manager

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

shivanraptor/php-db-manager
===========================

Modern PHP wrapper for MySQL database with prepared statements and connection pooling

1.6(3y ago)2107MITPHPPHP &gt;=5.3.0CI failing

Since Sep 30Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/shivanraptor/PHP-DB-Manager)[ Packagist](https://packagist.org/packages/shivanraptor/php-db-manager)[ Docs](https://github.com/shivanraptor/PHP-DB-Manager)[ RSS](/packages/shivanraptor-php-db-manager/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (4)Used By (0)

PHP-DB-Manager
==============

[](#php-db-manager)

[![LoC](https://camo.githubusercontent.com/0c5e8cfe7e343a30118c4239b4f328c5c76fb8a0bf676ef4a6fce4c8de1f574b/68747470733a2f2f746f6b65692e72732f62312f6769746875622f73686976616e726170746f722f7068702d64622d6d616e616765723f63617465676f72793d636f6465)](https://tokei.rs/b1/github/shivanraptor/php-db-manager?category=code)

A modern PHP database wrapper for MySQL with prepared statements, connection pooling, and proper error handling.

Features
--------

[](#features)

- UTF-8/UTF8MB4 Connection Support
- Prepared Statements by Default
- Transaction Support
- Connection Pooling
- Automatic Retry Mechanism
- Proper Exception Handling
- Type Safety
- PSR-4 Autoloading
- Modern PHP 7.4+ Features

Requirements
------------

[](#requirements)

- PHP 7.4 or higher
- MySQL 5.7+ or MariaDB 10.3+
- PHP MySQLi extension

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

[](#installation)

### Using Composer

[](#using-composer)

```
composer require shivanraptor/php-db-manager
```

### Manual Installation

[](#manual-installation)

1. Download the latest release
2. Include the autoloader in your project:

```
require_once('vendor/autoload.php');
```

Quick Start
-----------

[](#quick-start)

```
use PhpDbManager\DbManager;

try {
    $db = new DbManager([
        'host' => 'localhost',
        'username' => 'root',
        'password' => 'your_password',
        'database' => 'your_database',
        'charset' => 'utf8mb4',
        'port' => 3306,
        'persistent' => false,
        'autocommit' => true,
        'retry_attempts' => 3,
        'retry_delay' => 100 // milliseconds
    ]);

    // Execute a prepared statement
    $result = $db->execute(
        "SELECT * FROM users WHERE id = ? AND status = ?",
        ['i' => 1, 's' => 'active']
    );

    // Fetch a single row
    $user = $db->fetch($result);

    // Or fetch all rows
    $users = $db->fetchAll($result);

} catch (Exception $e) {
    error_log('Database error: ' . $e->getMessage());
    // Handle error appropriately
}
```

Connection Options
------------------

[](#connection-options)

OptionTypeDefaultDescriptionhoststring'localhost'Database hostusernamestring-Database usernamepasswordstring-Database passworddatabasestring-Database namecharsetstring'utf8mb4'Connection charsetportint3306Database portpersistentboolfalseUse persistent connectionautocommitbooltrueEnable autocommittimeoutint30Connection timeout in secondsretry\_attemptsint3Number of connection retry attemptsretry\_delayint100Delay between retries in millisecondsUsage Examples
--------------

[](#usage-examples)

### Basic Queries

[](#basic-queries)

```
// Select query
$result = $db->execute("SELECT * FROM users WHERE id = ?", ['i' => 1]);
$user = $db->fetch($result);

// Insert query
$db->execute(
    "INSERT INTO users (name, email) VALUES (?, ?)",
    ['s' => 'John Doe', 's' => 'john@example.com']
);
$userId = $db->lastInsertId();

// Update query
$db->execute(
    "UPDATE users SET status = ? WHERE id = ?",
    ['s' => 'active', 'i' => 1]
);
$affectedRows = $db->affectedRows();
```

### Transactions

[](#transactions)

```
try {
    $db->beginTransaction();

    $db->execute(
        "INSERT INTO orders (user_id, total) VALUES (?, ?)",
        ['i' => 1, 'd' => 99.99]
    );

    $db->execute(
        "UPDATE inventory SET stock = stock - 1 WHERE product_id = ?",
        ['i' => 123]
    );

    $db->commit();
} catch (Exception $e) {
    $db->rollback();
    throw $e;
}
```

### Fetching Results

[](#fetching-results)

```
// Fetch as associative array
$result = $db->execute("SELECT * FROM users");
$users = $db->fetchAll($result, 'assoc');

// Fetch as object
$result = $db->execute("SELECT * FROM users");
$users = $db->fetchAll($result, 'object');

// Fetch as indexed array
$result = $db->execute("SELECT * FROM users");
$users = $db->fetchAll($result, 'array');
```

### Connection Info

[](#connection-info)

```
$info = $db->getConnectionInfo();
echo "Connected to {$info['server']} as {$info['user']}";
echo "MySQL version: {$info['version']}";
echo "Charset: {$info['charset']}";
```

Breaking Changes from v1.x
--------------------------

[](#breaking-changes-from-v1x)

1. **Constructor Changes**:

```
// Old version
$db = new dbManager($host, $user, $pass, $dbname);

// New version
$db = new DbManager([
    'host' => $host,
    'username' => $user,
    'password' => $pass,
    'database' => $dbname
]);
```

2. **Namespace Required**:

```
use PhpDbManager\DbManager;
```

3. **Error Handling**:

```
// Old version
if ($db->error !== NULL) {
    // error exists
}

// New version
try {
    $db = new DbManager($options);
} catch (Exception $e) {
    // Handle error
}
```

4. **Query Execution**:

```
// Old version
$result = $db->query_prepare($sql, $params);
$row = $db->result($result);

// New version
$result = $db->execute($sql, $params);
$row = $db->fetch($result);
```

Contributing
------------

[](#contributing)

1. Fork the repository
2. Create your feature branch
3. Run tests and code style checks
4. Submit a pull request

License
-------

[](#license)

This project is licensed under the MIT License - see the LICENSE file for details.

Support
-------

[](#support)

For support, please open an issue in the GitHub repository or contact the maintainers.

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance56

Moderate activity, may be stable

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

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

Total

3

Last Release

1333d ago

### Community

Maintainers

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

---

Top Contributors

[![shivanraptor](https://avatars.githubusercontent.com/u/997890?v=4)](https://github.com/shivanraptor "shivanraptor (27 commits)")

---

Tags

mysql-databasephp-mysqliwrappermysqlmariadbwrappermysqli

### Embed Badge

![Health badge](/badges/shivanraptor-php-db-manager/health.svg)

```
[![Health](https://phpackages.com/badges/shivanraptor-php-db-manager/health.svg)](https://phpackages.com/packages/shivanraptor-php-db-manager)
```

###  Alternatives

[doctrine/dbal

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

9.7k605.0M6.8k](/packages/doctrine-dbal)[catfan/medoo

The lightweight PHP database framework to accelerate development

5.0k1.6M204](/packages/catfan-medoo)[ifsnop/mysqldump-php

PHP version of mysqldump cli that comes with MySQL

1.3k6.0M77](/packages/ifsnop-mysqldump-php)[aplus/database

Aplus Framework Database Library

3391.6M7](/packages/aplus-database)[scienta/doctrine-json-functions

A set of extensions to Doctrine that add support for json query functions.

58825.9M54](/packages/scienta-doctrine-json-functions)[sergeytsalkov/meekrodb

The Simple PHP/MySQL Library

346410.5k13](/packages/sergeytsalkov-meekrodb)

PHPackages © 2026

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