sybase_set_message_handler

(PHP 4 >= 4.3.0, PHP 5)

sybase_set_message_handler -- Define um manipulador para quando uma mensagem do servidor é enviada

Descrição

bool sybase_set_message_handler ( callback handler [, resource connection] )

sybase_set_message_handler() define uma função do usuário para manipular as funções do usuário geradas pelo servidor. Você deve o nome de uma função global, ou usar uma matriz para especificar um objeto e o nome de um metodo.

Nota: Esta função somente está disponível quando utilizando a biblioteca de interface CT do Sybase, mas não pela biblioteca DB.

O manipulador espera cinco argumentos na seguinte ordem: número da mensagem, severidde, estado, número da linha e descrição. Os quatro primeiros são inteiros. O último é uma string. Se a função retornar FALSE, o PHP gera uma mensagem de rro comum.

Retorna TRUE em caso de sucesso ou FALSE em falhas.

Nota: O parâmetro connection foi adicionando no PHP 4.3.5.

Exemplo 1. Exemplo de 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');
?>

Exemplo 2. Exemplo de sybase_set_message_handler() usando uma classe

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

Exemplo 3. Exemplo de sybase_set_message_handler() com mensagens não manipuladas

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