sybase_set_message_handler

(PHP 4 >= 4.3.0, PHP 5)

sybase_set_message_handlerサーバーでメッセージが発生した際にコールされるハンドラを指定する

警告

この機能は PHP 7.0.0 で 削除 されました。

説明

bool sybase_set_message_handler ( callable $handler [, resource $link_identifier ] )

sybase_set_message_handler() は、 サーバーからのメッセージを処理するユーザー関数を設定します。グローバル関数の名前、 あるいはオブジェクトへの参照とメソッド名を保持する配列を指定します。

パラメータ

handler

ハンドラは、以下の 5 つの引数をこの順に受け取ります。 number, severity, state, line number そして description。 最初の 4 つは整数値で、最後は文字列です。関数が FALSE を返した場合、PHP は通常のエラーメッセージを表示します。

link_identifier

リンクIDを省略した場合は、最後に開いたリンクを使います。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 sybase_set_message_handler() コールバック関数

<?php
    
function msg_handler($msgnumber$severity$state$line$text)
    {
        
var_dump($msgnumber$severity$state$line$text);
    }

    
sybase_set_message_handler('msg_handler');
?>

例2 クラスへの sybase_set_message_handler() コールバック

<?php
    
class Sybase {
        function 
handler($msgnumber$severity$state$line$text)
        {
            
var_dump($msgnumber$severity$state$line$text);
        }
    }

    
$sybase= new Sybase();
    
sybase_set_message_handler(array($sybase'handler'));
?>

例3 sybase_set_message_handler() が処理しないメッセージ

<?php
    
// この関数から FALSE を返すことは、それをこの関数では処理しないことを
    // 意味します。エラーは警告として表示され、ハンドラが何も設定されていない
    // 場合と同様に処理できます。
    
function msg_handler($msgnumber$severity$state$line$text)
    {
        if (
257 == $msgnumber) {
            return 
false;
        }
        
var_dump($msgnumber$severity$state$line$text);
    }

    
sybase_set_message_handler('msg_handler');
?>

注意

注意: この関数は、Sybase の CT ライブラリインターフェイスでのみ使用可能で、DB ライブラリでは使用できません。

add a note add a note

User Contributed Notes 1 note

up
0
Anonymous
14 years ago
You can check for Showplan messages using this callback. Showplan message numbers go from 6201 through 6292 (at least here, on SQL Server/11.0.3.3).

select error, description from master..sysmessages where error between 6201 and 6292
To Top