sybase_set_message_handler

(PHP 4 >= 4.3.0, PHP 5)

sybase_set_message_handler -- Configure le gestionnaire de message Sybase

Description

bool sybase_set_message_handler ( callback handler [, resource connection] )

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.

Note : Cette fonction n'est diponible qu'avec la bibliothèque CT Sybase, et non pas avec la bibliothèque DB.

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ètre 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.

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Note : Le paramètre connection a été ajouté dans PHP 4.3.5.

Exemple 1. Fonction de callback pour 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. Classe de callback pour 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. Gestion des messages non traités de 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');
?>