mirror of
https://github.com/danog/postgres.git
synced 2024-12-03 09:57:48 +01:00
examples | ||
src | ||
test | ||
travis | ||
.gitattributes | ||
.gitignore | ||
.php_cs | ||
.travis.yml | ||
composer.json | ||
LICENSE | ||
phpdoc.dist.xml | ||
phpunit.xml.dist | ||
README.md |
Async PostgreSQL client for PHP built with Amp.
Installation
This package can be installed as a Composer dependency.
composer require amphp/postgres
Requirements
Note: pecl-ev is not compatible with ext-pgsql. If you wish to use pecl-ev for the event loop backend, you must use pecl-pq.
Documentation & Examples
Prepared statements and parameterized queries support named placeholders, as well as ?
and standard numeric (i.e. $1
) placeholders.
More examples can be found in the examples
directory.
use Amp\Postgres;
use Amp\Postgres\ConnectionConfig;
use Amp\Sql\Result;
use Amp\Sql\Statement;
Amp\Loop::run(function () {
$config = ConnectionConfig::fromString("host=localhost user=postgres dbname=test");
/** @var Postgres\Pool $pool */
$pool = Postgres\pool($config);
/** @var Statement $statement */
$statement = yield $pool->prepare("SELECT * FROM test WHERE id = :id");
/** @var Result $result */
$result = yield $statement->execute(['id' => 1337]);
while (yield $result->advance()) {
$row = $result->getCurrent();
// $row is an array (map) of column values. e.g.: $row['column_name']
}
});
Versioning
amphp/postgres
follows the semver semantic versioning specification like all other amphp
packages.
Security
If you discover any security related issues, please email contact@amphp.org
instead of using the issue tracker.
License
The MIT License (MIT). Please see LICENSE
for more information.