Pdo\Pgsql::setNoticeCallback

Set a callback to handle notice and warning messages generated by the backend

説明

public void Pdo\Pgsql::setNoticeCallback(callablenull $callback)

Set a callback to handle notice and warning messages generated by the backend. This includes messages emitted by PostgreSQL itself, as well as those raised by user-defined SQL functions using RAISE. Please note that the actual receipt of these messages depends on the backend setting client_min_messages.

パラメータ

callback
If null is passed, the handler is reset to its default state.

Otherwise, the handler is a callback with the following signature:

void handler(string $message)
message
A message generated by the backend.

戻り値

値を返しません。

例1 Pdo\Pgsql::setNoticeCallback example

<?php
$pdo = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);

$pdo->exec('CREATE TABLE parent(id int primary key)');
$pdo->exec('CREATE TABLE child(id int references parent)');

$pdo->setNoticeCallback(function ($message) {
    echo $message;
});

$pdo->exec('TRUNCATE parent CASCADE');
?>

上の例の出力は、 たとえば以下のようになります。

NOTICE:  truncate cascades to table "child"