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

Description

bool sybase_set_message_handler ( callback handler [, resource connection])

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.

注: 该函数仅适用于 Sybase 的 CT 库接口,而不适用于 DB 库。

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.

如果成功则返回 TRUE,失败则返回 FALSE

注: The connection parameter was added in PHP 4.3.5.

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

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

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