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 — Configura el gestor de mensajes Sybase cuando se genera un mensaje de servidor
sybase_set_message_handler() configura una función de usuario para gestionar los mensajes generados por el servidor. Se ha de especificar el nombre de una función global, o utilizar un array para especificar un objeto de referencia y un nombre de método.
handler
El gestor espera cinco parámetros en el orden siguiente: mensaje
número, severidad, estado, número de línea y descripción. Los cuatro primeros
son enteros. Es último es un string. Si la función devuelve FALSE
,
PHP genera un mensaje de error ordinario.
link_identifier
Si no se especifica el identificador de conexión, se asumirá la última conexión abierta.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
Ejemplo #1 sybase_set_message_handler() función llamada de retorno
<?php
function msg_handler($msgnumber, $severity, $state, $line, $text)
{
var_dump($msgnumber, $severity, $state, $line, $text);
}
sybase_set_message_handler('msg_handler');
?>
Ejemplo #2 sybase_set_message_handler() llamada de retorno a una clase
<?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'));
?>
Ejemplo #3 sybase_set_message_handler() mensajes no gestionados
<?php
// Devuelve FALSE para indicar que no se puede gestionar.
// El error se muestra como un 'warning', de forma definida por el usuario
// si no hay un gestor instalado.
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 función está disponible sólo cuando se utiliza la biblioteca CT de Sybase, y no la biblioteca DB.