Forum und email

MaxDB PHP Extension

Introduction

L'extension MaxDB de PHP vous permet d'accéder aux fonctionnalités fournies par MaxDB 7.5.0 et suivant. Plus d'informations sur le serveur de base de données MaxDB peuvent être trouvées sur » http://www.mysql.com/products/maxdb/.

L'extension MaxDB est compatible avec l'extension mysqli de MySQL. Il y a simplement des différences mineurs dans le comportement de certaines fonctions, liées au comportement des bibliothèques sous- jacentes.

Les différences notables sont :

La documentation sur MaxDB est disponible sur » http://dev.mysql.com/doc/maxdb/.

Pré-requis

Pour pouvoir utiliser ces fonctions, vous devez compiler PHP avec le support MaxDB. Additionnellement, vous devez avoir de disponible la bibliothèque MaxDB SQLDBC pour accéder au serveur MaxDB.

La documentation sur MaxDB SQLDBC peut être trouvée sur » http://dev.mysql.com/doc/maxdb/.

Téléchargez le paquet MaxDB SQLDBC sur » http://dev.mysql.com/downloads/maxdb/clients.html.

Installation

En utilisant l'option de configuration --with-maxdb[=DIR], vous permettez à PHP d'accéder à une base de données MaxDB. [DIR] pointe vers le dossier contenant le paquet d'installation MaxDB SQLDBC.

Les utilisateurs de Windows doivent activer la bibliothèque php_maxdb.dll dans le php.ini.

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration
NomPar défaut ModifiableHistorique
maxdb.default_host NULL PHP_INI_ALL  
maxdb.default_db NULL PHP_INI_ALL  
maxdb.default_user NULL PHP_INI_ALL  
maxdb.default_pw NULL PHP_INI_ALL  
maxdb.long_readlen "200" PHP_INI_ALL  
Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à Directives du php.ini.

Voici un éclaircissement sur l'utilisation des directives de configuration.

maxdb.default_host string

L'hôte par défaut à utiliser lors de la connexion au serveur de base de données si aucun hôte n'est spécifié.

maxdb.default_db string

La base de donées par défaut à utiliser lors de la connexion si aucun autre base de donées n'est spécifié.

maxdb.default_user string

Le nom d'utilisateur par défaut à utiliser lors de la connexion au serveur de base de données si aucun autre nom n'est spécifié.

maxdb.default_pw string

Le mot de passe par défaut à utiliser lorsqu'un utilisateur se connecte à un serveur sans spécifier de mot de passe.

maxdb.long_readlen integer

La longueur maximale d'octets par défaut qui sont transférés au client si un gros volume de données est récupéré depuis un serveur de base de données MaxDB.

Classes pré-définies

maxdb

Représente une connexion entre PHP et une base MaxDB.

Constructeur

Méthodes

  • autocommit : active ou pas l'auto-archivage

  • change_user : change l'utilisateur de la base de données

  • character_set_name : retourne le jeu de caractèrs par défaut de la connexion

  • close : ferme une connexion ouverte

  • commit : valide la transaction courante

  • connect : ouvre une nouvelle connexion

  • debug : effectue des opérations de déboguage

  • dump_debug_info : affiche des informations de déboguage

  • get_client_info : retourne la version du client

  • get_host_info : retourne le type de connexion

  • get_server_info : retourne les informations sur le serveur maxDB

  • get_server_version : retourne la version du serveur

  • init : initialise un objet maxdb

  • info : lit les informations sur la dernière requête exécutée

  • kill : tente de terminer un thread MaxDB

  • multi_query : effectue une commande multiple

  • more_results : vérifie si d'autres résultats existent dans la commande multiple courante

  • next_result : lit le prochain résultat de la commande multiple courante

  • options : configure les options

  • ping : pingue le serveur et se reconnecte si besoin

  • prepare : prépare une requête SQL

  • query : exécute une requête

  • real_connect : ouvre une connexion au serveur MaxDB

  • escape_string : protège les caractères spéciaux dans une chaîne pour l'utiliser dans une requête, en tenant compte du jeu de caractères courant

  • rollback : annule la transaction courante

  • select_db : sélectionne la base de données par défaut

  • ssl_set : configure les praamètres ssl

  • stat : lit le statut courant du système

  • stmt_init : initialise une commande à utiliser avec maxdb_stmt_prepare

  • store_result : transfert un résultat de la dernière requête

  • use_result : transfert un résultat non bufferisé de la dernière requête

  • thread-safe : indique si la sécurité thread est active ou pas

Propriétés

  • affected_rows : lit le nombre de lignes affectées par la dernière opération MaxDB

  • client_info : retourne la version du client MaxDB sous forme de chaîne

  • client_version : retourne la version du client MaxDB sous forme d'entier

  • errno : retourne le code d'erreur du dernier appel de fonction

  • error : retourne le message d'erreur de la plus récente fonction

  • field_count : return le nombre de colonne de la dernière requête

  • host_info : return une chaîne représentant le type de connexion

  • info : lit les informations sur la dernière requête exécutée

  • insert-id : retourne l'identifiant auto-généré par la dernière requête

  • protocol_version : retourne la version du protocole MaxDB utilisé

  • sqlstate : retourne une chaîne représentant le code d'erreur SQLSTATE

  • thread_id : retourne l'identifiant du thread de la connexion courante

  • warning-count : retourne le nombre d'alertes générées durant la dernière commande SQL

maxdb_stmt

Représente une commande préparée.

Méthodes

  • bind_param : lie les variables à la commande préparée

  • bind_result : lie les variables à la commande préaprée, pour stockage des résultats

  • close : détruit la commande préparée

  • data-seek : place le pointeur à une position arbitraire du résultat

  • execute : exécute une commande préparée

  • fetch : lit les résultats de la commande préparée dans les variables liées

  • free_result : libère les ressources de la mémoire

  • result_metadata : lit les méta-données d'un résultat de commande préparée

  • prepare : prépare une commande préparée

  • send_long_data : envoie les données par paquet

  • close_long_data : termine l'envoi de grandes données

  • reset : remet à zéro une commande préparée

  • store_result : stocke tout le résultat d'une commande préparée

Propriétés

  • affected_rows : retourne le nombre de lignes affectées par la dernière commande préparée

  • errno : retourne le code d'erreur de la dernière commande préparée

  • errno : retourne le message d'erreur de la dernière commande préparée

  • param_count : retourne le nombre de paramètres pour une commande préparée

  • sqlstate : retourne une chaîne contenant le code d'erreur SQLSTATE

maxdb_result

Représente le jeu de résultat obtenu après exécution d'une requête.

Méthodes

  • close : détruit le jeu de résultat

  • data_seek : déplace le pointeur de ligne

  • fetch_field : lit les informations de colonnes d'un résultat

  • fetch_fields : lit les informations de toutes les colonnes d'un résultat

  • fetch_field_direct : lit les informations sur une colonne spécifique

  • fetch_array : lit la ligne de résultat sous forme de tableau associatif, numérique ou les deux.

  • fetch_assoc : lit une ligne sous forme de tableau associatif

  • fetch_object : lit un résultat sous forme d'objet

  • fetch_row : lit un résultat sous forme de tableau énuméré

  • close : libère les ressources

  • field_seek : place le pointeur à une position donnée

Propriétés

  • current_field : retourne le pointeur courant

  • field_count : retourne le nombre de champs dans le résultat

  • lengths : retourne un tableau avec les tailles des colonnes

  • num_rows : retourne le nombre de ligne du résultat

Types de ressources

Cette extension définit des ressources.

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Les constantes suivantes à utiliser avec maxdb_options() sont définies. Pour plus de descritions sur ces constantes, lisez » http://dev.mysql.com/doc/maxdb/.

Constantes clientes PHP MaxDB
Constante Description
MAXDB_COMPNAME Le nom du composant utilisé pour initialiser l'environnement d'exécution SQLDBC.
MAXDB_APPLICATION L'application à connecter à la base de données.
MAXDB_APPVERSION La version de l'application.
MAXDB_SQLMODE Le mode SQL.
MAXDB_UNICODE TRUE, si la connexion est un client unicode (UCS2) ou FALSE sinon.
MAXDB_TIMEOUT Le délai maximal d'inactivité après lequel la connexion à la base de données est close par le système.
MAXDB_ISOLATIONLEVEL Spécifie si oui ou non et comment les verrous partagés ainsi que les verrous exclusifs sont implicitement demandés ou libérés.
MAXDB_PACKETCOUNT Le nombre de paquets de requêtes différents utilisé pour la connexion.
MAXDB_STATEMENTCACHESIZE Le nombre de requêtes préparées à être mises en cache pour la connexion pour être réutilisées.
MAXDB_CURSORPREFIX Le préfixe à utiliser pour la table de résultats qui sont automatiquement nommées.

La fonction maxdb_fetch_array() utilise une constante pour les différents types de tableaux de résultats. Les constantes suivantes sont définies :

MaxDB fetch constants
Constante Description
MAXDB_ASSOC Les colonnes sont retournées dans un tableau ayant comme index les noms des champs.
MAXDB_ASSOC_UPPER Les colonnes sont retournées dans un tableau ayant comme index les noms des champs en majuscule.
MAXDB_ASSOC_LOWER Les colonnes sont retournées dans un tableau ayant comme index les noms des champs en minuscule.
MAXDB_BOTH Les colonnes sont retournées dans un tableau ayant des index numériques ainsi que les noms des champs en tant qu'index.
MAXDB_NUM Les colonnes sont retournées dans un tableau ayant un index numérique correspondant à un champs. Cet index commence à 0, le premier champs du jeu de résultats.

Exemples

Tous les exemples dans la documentation PHP de MaxDB utilise la base de données de démonstration HETOLDB depuis MaxDB. Plus d'informations concernant cette base de données peuvent être trouvées sur » http://dev.mysql.com/doc/maxdb/en/98/11b83fa6b33c17e10000000a114084/frameset.htm.

Cet exemple simple montre comment se connecter, exécuter une requête, afficher les lignes résultants et se déconnecter de la base de données MaxDB.

Example#1 Exemple global de l'extension MaxDB

<?php
/* Connexion et sélection de la base de données */
$link maxdb_connect("maxdb_host""maxdb_user""maxdb_password")
or die(
"Connexion impossible : " maxdb_connect_error());
echo 
"Connexion avec succès";
maxdb_select_db("my_database") or die("Impossible de sélectionner la base de données");

/* Exécution d'une requête SQL */
$query "SELECT * FROM my_table";
$result maxdb_query($link$query) or die("Query failed : " maxdb_error());

/* Affichage des résultats en HTML */
echo "<table>\n";
while (
$line maxdb_fetch_array($resultMAXDB_ASSOC)) {
   echo 
"\t<tr>\n";
   foreach (
$line as $col_value) {
      echo 
"\t\t<td>$col_value</td>\n";
   }
   echo 
"\t</tr>\n";
}
echo 
"</table>\n";

/* Libération des ressources */
maxdb_free_result($result);

/* Fermeture de la connexion */
maxdb_close($link);
?>

Table of Contents