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
(PHP 4 >= 4.3.0, PHP 5)
sybase_set_message_handler — Define um manipulador para quando uma mensagem do servidor é enviada
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 método.
handler
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 erro comum.
connection
Retorna TRUE
em caso de sucesso ou FALSE
em caso de falha.
Versão | Descrição |
---|---|
4.3.5 |
O parâmetro connection foi adicionado.
|
Exemplo #1 Exemplo da 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');
?>
Nota: Esta função somente está disponível quando utilizando a biblioteca de interface CT do Sybase, mas não pela biblioteca DB.