Wrapper for PDO (MySQL) to support auto-reconnect, nested transactions and more.

v1.0.2 2016-03-02 16:40 UTC

This package is auto-updated.

Last update: 2024-06-14 04:55:39 UTC


MyPDO is a wrapper that adds a few features missing from vanilla PDO:

  • Explicit disconnection
  • Automatic reconnection (no more 2006 MySQL server has gone away)
  • Nested transactions
  • Methods chainability
  • Hidden password from the stack trace (in case of error)
  • Helpers methods (e.g. ping())

Important: MyPDO is designed for MySQL only.

This class will not add higher logic to PDO (such as data mapping, etc.). It is only intended to add low-level features.

Build Status

Basic example

This class is intented to be a drop-in replacement for PHP's default PDO. There is nothing special to do, just use MyPDO class instead of PDO and you're good to go.

Complete doc is available in the wiki.


  • PHP >= 5.3


The recommended way is to install the lib through Composer.

Just add this to your composer.json file (change the version by the release you want, or use dev-master for the development version):

    "require": {
        "rlanvin/php-mypdo": "1.*"

Then run composer install or composer update.

Now you can use the autoloader, and you will have access to the library:

require 'vendor/autoload.php';

Alternative method

You can just download src/MyPDO.php and src/MyPDOStatement.php (if you want to use prepared statements) and require them.


Complete doc is available in the wiki.


Feel free to contribute! Just create a new issue or a new pull request.


This library is released under the MIT License.