You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An async MySQL client for PHP, optimizing database interactions with efficient non-blocking capabilities. Perfect for responsive, high-performance applications.
AMPHP is a collection of event-driven libraries for PHP designed with fibers and concurrency in mind.
amphp/mysql is an asynchronous MySQL client.
The library implements concurrent querying by transparently distributing queries across a scalable pool of available connections. The client transparently distributes these queries across a scalable pool of available connections and does so using 100% userland PHP; there are no external extension dependencies (e.g. ext/mysqli, ext/pdo, etc.).
Features
Exposes a non-blocking API for issuing multiple MySQL queries concurrently
Transparent connection pooling to overcome MySQL's fundamentally synchronous connection protocol
MySQL transfer encoding support (gzip, TLS encryption)
Support for parameterized prepared statements
Nested transactions with commit and rollback event hooks
Unbuffered results to reduce memory usage for large result sets
Full MySQL protocol support including all† available commands asynchronously
This package can be installed as a Composer dependency.
composer require amphp/mysql
Requirements
PHP 8.1+
Usage
More extensive code examples reside in the examples directory.
useAmp\Mysql\MysqlConfig;
useAmp\Mysql\MysqlConnectionPool;
$config = MysqlConfig::fromString(
"host=localhost user=username password=password db=test"
);
$pool = newMysqlConnectionPool($config);
$statement = $pool->prepare("SELECT * FROM table_name WHERE id = :id");
$result = $statement->execute(['id' => 1337]);
foreach ($resultas$row) {
// $row is an associative-array of column values, e.g.: $row['column_name']
}
Versioning
amphp/mysql follows the semver semantic versioning specification like all other amphp packages.
Security
If you discover any security related issues, please use the private security issue reporter instead of using the public issue tracker.
License
The MIT License (MIT). Please see LICENSE for more information.
About
An async MySQL client for PHP, optimizing database interactions with efficient non-blocking capabilities. Perfect for responsive, high-performance applications.