# sybase_set_message_handler

(PHP 4 >= 4.3.0, PHP 5)

sybase_set_message_handler — Sets the handler called when a server message is raised

Warning

This function was REMOVED in PHP 7.0.0.

### 说明

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

sybase_set_message_handler() sets a user function to handle messages generated by the server. You may specify the name of a global function, or use an array to specify an object reference and a method name.

### 参数

`handler`

  The handler expects five arguments in the following order: message number, severity, state, line number and description. The first four are integers. The last is a string. If the function returns `FALSE`, PHP generates an ordinary error message.

`link_identifier`

  If the link identifier isn't specified, the last opened link is assumed.

### 返回值

成功时返回 `TRUE`， 或者在失败时返回 `FALSE`。

### 范例

Example #1 sybase_set_message_handler() callback function

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

        sybase_set_message_handler('msg_handler');
    ?>

Example #2 sybase_set_message_handler() callback to a class

    <?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'));
    ?>

Example #3 sybase_set_message_handler() unhandled messages

    <?php
        // Return FALSE from this function to indicate you can't handle
        // this. The error is printed out as a warning, the way you're used
        // to it if there is no handler installed.
        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');
    ?>

### 注释

> Note: 此函数仅适用于对 Sybase 使用 CT 库接口，而不适用于 DB 库。