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 — Configure le gestionnaire de messages Sybase
Cette fonction a été SUPPRIMÉE à partir de PHP 7.0.0.
sybase_set_message_handler() configure la fonction
handler
pour qu'il soit le gestionnaire des
messages générés par le serveur Sybase. Vous pouvez spécifier le nom
d'une fonction globale, ou bien utiliser un tableau pour spécifier
un objet et un nom de méthode.
handler
Le gestionnaire attend 5 arguments, dans l'ordre suivant :
numéro de message, sévérité, état, numéro de ligne et description. Les 4
premiers paramètres sont des entiers et le dernier est une chaîne de caractères.
Si ce gestionnaire retourne la valeur FALSE
, PHP retournera un message
d'erreur classique.
link_identifier
Si non spécifié, le dernier lien ouvert sera utilisé.
Cette fonction retourne TRUE
en cas de succès ou FALSE
si une erreur survient.
Exemple #1 Exemple avec 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');
?>
Exemple #2 Exemple avec sybase_set_message_handler()
<?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'));
?>
Exemple #3 Exemple avec sybase_set_message_handler()
<?php
// Retournez FALSE si vous voulez indiquer que vous ne savez pas
// traiter ce message. Cette erreur est alors affichée sous la forme
// d'une alerte, comme s'il n'y avait pas de gestionnaire installé.
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: Cette fonction n'est disponible qu'avec la bibliothèque CT Sybase, et non pas avec la bibliothèque DB.