Manuel PHP

Table des matières

Préface
I. Au moment de commencer
II. Installation et configuration
III. Référence du langage
IV. Sécurité
V. Caractéristiques
VI. Référence des fonctions
VII. PHP et le moteur interne Zend
VIII. FAQ : foire Aux Questions
IX. Annexes
Remerciements



LXXX. 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 :

maxdb_character_set_name() : retourn uniquement de l’ASCII ou unicode
maxdb_disable_reads_from_master() : fonction expérimentale
maxdb_disable_rpl_parse() : fonction expérimentale
maxdb_dump_debug_info() : fonction expérimentale
maxdb_embedded_connect() : fonction expérimentale
maxdb_enable_reads_from_master() : fonction expérimentale
maxdb_enable_rpl_parse() : fonction expérimentale
maxdb_get_client_info() : version différente
maxdb_get_client_version() : version différente
maxdb_get_host_info() : retourne localhost ou le nom d’hôte
maxdb_get_server_info() : version différente
maxdb_get_server_version() : version différente
maxdb_kill() : déconnecte la session
maxdb_master_query() : fonction expérimentale
maxdb_more_results() : la fonction retourne toujours “FALSE”
maxdb_multi_query() : ne peut pas gérer des commandes SQL multiples
maxdb_next_result() : la fonction retourne toujours “FALSE”
maxdb_options() : les optoins sont différentes
maxdb_report() : les modes de rapports sont différents
maxdb_rpl_parse_enabled() : fonction expérimentale
maxdb_rpl_probe() : fonction expérimentale
maxdb_rpl_query_type() : fonction expérimentale
maxdb_send_query() : fonction expérimentale
maxdb_server_end() : fonction expérimentale
maxdb_server_init() : fonction expérimentale
maxdb_ssl_set() : fonction expérimentale
maxdb_stat() : système de status différent
maxdb_stmt_store_result() : sans effet
maxdb_store_result() : sans effet

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”.

Tableau 1. Options de configuration

Nom Par défaut Modifiable Historique
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 à Annexe G.

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

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/.

Tableau 2. 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 :

Tableau 3. 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.

Exemple 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($result, MAXDB_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 des matières

maxdb_affected_rows –  Récupère le nombre de lignes affectées par la dernière opération MaxDB maxdb_autocommit –  Active ou désactive l’auto-commit des modifications de la base de données maxdb_bind_param – Alias de maxdb_stmt_bind_param()
maxdb_bind_result – Alias de maxdb_stmt_bind_result()
maxdb_change_user –  Modifie l’utilisateur de la connexion à la base de données spécifiée maxdb_character_set_name –  Retourne le jeu de caractères par défaut pour la connexion à la base de données maxdb_client_encoding – Alias de maxdb_character_set_name()
maxdb_close_long_data – Alias de maxdb_stmt_close_long_data()
maxdb_close –  Ferme une connexion à une base de donnéesmaxdb_commit – Valide la transaction courantemaxdb_connect_errno – Retourne le code erreur du dernier appel à la connexionmaxdb_connect_error – Retourne une chaîne descriptive de la dernière erreurmaxdb_connect – Oubre une nouvelle connexion sur un serveur MaxDBmaxdb_data_seek –  Ajuste le pointeur de résultat sur une ligne arbitraire dans le résultat maxdb_debug – Effectue des opérations de déboguagemaxdb_disable_reads_from_master – Désactive la lecture depuis le maîtremaxdb_disable_rpl_parse – Désactive l’analyseur RPLmaxdb_dump_debug_info – Sauvegarde les informations de débogage dans un logmaxdb_embedded_connect – Ouvre une connexion sur un serveur MaxDB embarquémaxdb_enable_reads_from_master – Active la lecture depuis le maîtremaxdb_enable_rpl_parse – Active l’analyseur RPLmaxdb_errno – Retourne le code erreur pour le dernier appel à une fonctionmaxdb_error – Retourne une chaîne représentant la dernière erreurmaxdb_escape_string – Alias de maxdb_real_escape_string()
maxdb_execute – Alias de maxdb_stmt_execute()
maxdb_fetch_array – Récupère une ligne de résultat dans un tableau numérique, associatif ou les deuxmaxdb_fetch_assoc –  Récupère une ligne de résultat dans un tableau associatif maxdb_fetch_field_direct –  Récupère les méta-données pour un seul champ maxdb_fetch_field – Retourne le prochain champs d’un jeu de résultatsmaxdb_fetch_fields – Retourne un tableau de ressource représentant les champs dans un jeu de résultatsmaxdb_fetch_lengths – Retourne la longueur des colonnes de la ligne courante dans un jeu de résultatsmaxdb_fetch_object –  Retourne la ligne courante d’un jeu de résultats dans un objet maxdb_fetch_row – Récupère une ligne de résultat en tant que tableau énumérémaxdb_fetch – Alias de maxdb_stmt_fetch()
maxdb_field_count – Retourne le nombre de colonnes pour la dernière requêtemaxdb_field_seek –  Définit le pointeur de résultat à une position donnée maxdb_field_tell –  Récupère la position du champs courant pour un pointeur de résultat maxdb_free_result – Libère la mémoire associée à un résultatmaxdb_get_client_info – Retourne la version du client MaxDB sous la forme d’une chaînemaxdb_get_client_version – Récupère des informations sur le client MaxDBmaxdb_get_host_info – Retourne une chaîne représentant le typde de connexion utilisémaxdb_get_metadata – Alias de maxdb_stmt_result_metadata()
maxdb_get_proto_info – Retourne la version du protocole MaxDB utilisémaxdb_get_server_info – Retourne la version du serveur MaxDBmaxdb_get_server_version – Retourne la version du serveur MaxDB sous la forme d’un entiermaxdb_info – Récupère des informations sur le dernière requête exécutéemaxdb_init –  Initialise MaxDB et retourne une ressource pour l’utiliser avec maxdb_real_connect maxdb_insert_id – Retourne le dernier identifiant généré automatiquement par la dernière requêtemaxdb_kill – Déconnecte un serveur MaxDBmaxdb_master_query – Force l’exécution d’une requête sur le maître dans une configuration maître/esclavemaxdb_more_results – Vérifie s’il y a encore des résultats de disponibles depuis de multiples requêtesmaxdb_multi_query – Exécute une requête sur une base de donnéesmaxdb_next_result – Préapre le prochain résultat depuis multi_querymaxdb_num_fields –  Récupère le nombre de champs dans un résultat maxdb_num_rows –  Récupère le nombre de lignes dans un résultat maxdb_options – Définie des optionsmaxdb_param_count – Alias de maxdb_stmt_param_count()
maxdb_ping –  Test une connexion à un serveur ou tente de se reconnecter si la connexion a été interrompue maxdb_prepare –  Prépare une requête SQL pour exécution maxdb_query – Exécute une requête sur une base de donnéesmaxdb_real_connect – Ouvre une connexion sur un serveur MaxDBmaxdb_real_escape_string –  Echappe les caractères spéciaux d’une chaîne afin de l’utiliser dans une requpête SQL, en tenant compte du jeu de caractères courant de la connexion maxdb_real_query – Exécute une requête SQLmaxdb_report – Active ou désactive le rapport interne des fonctionsmaxdb_rollback – Annule la transaction courantemaxdb_rpl_parse_enabled – Vérifie si l’analyseur RPL est activémaxdb_rpl_probe – Test RPLmaxdb_rpl_query_type – Retourne une requête de type RPLmaxdb_select_db – Sélectionne une base de données pour les requêtesmaxdb_send_long_data – Alias de maxdb_stmt_send_long_data()
maxdb_send_query – Envoie une requête et retournemaxdb_server_end – Eteint un serveur embarquémaxdb_server_init – Initialise un serveur embarquémaxdb_set_opt – Alias de maxdb_options()
maxdb_sqlstate – Retourne l’erreur SQLSTATE depuis la dernière opération MaxDBmaxdb_ssl_set – Utilisé pour établir une connexion sécurisée utilisant SSLmaxdb_stat – Récupère le statut courant du systèmemaxdb_stmt_affected_rows – Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête maxdb_stmt_bind_param – Lie les variables à une requête préparée en tant que paramètresmaxdb_stmt_bind_result – Lie les variables à une requête préparée pour stockage du résultatmaxdb_stmt_close_long_data – Termine une séquence maxdb_stmt_send_long_data()
maxdb_stmt_close – Ferme une requête préparéemaxdb_stmt_data_seek – Se positionne sur une ligne arbitraire dans le jeu de résultatsmaxdb_stmt_errno – Retourne le code erreur pour le dernier appel à une fonction de requêtemaxdb_stmt_error – Retourne une description de la dernière erreurmaxdb_stmt_execute – Exécute une requête préparéemaxdb_stmt_fetch –  Récupère les résultats depuis la requête préparée dans les variables liées maxdb_stmt_free_result – Libère la mémoire des résultats sotckés pour un gestionnaire de requête donnémaxdb_stmt_init –  Initialise une requête et retourne une ressource à utiliser avec maxdb_stmt_prepare maxdb_stmt_num_rows – Retourne le nombre de lignes dans le jeu de résultatsmaxdb_stmt_param_count – Retourne le nombre de marqueurs pour une requête donnéemaxdb_stmt_prepare –  Prépare une requête SQL pour exécution maxdb_stmt_reset – Réinitialise une requête préparéemaxdb_stmt_result_metadata – Retourneles méta-données du jeu de résultats pour une requête préparéemaxdb_stmt_send_long_data – Envoie des données dans un blockmaxdb_stmt_sqlstate – Retourne une erreur SQLSTATE depuis la requête précédantemaxdb_stmt_store_result – Transfert un jeu de résultats depuis une requête préparéemaxdb_store_result – Transfert un jeu de résultats depuis la dernière requêtemaxdb_thread_id – Retourne l’identifiant du thread pour la connexion courantemaxdb_thread_safe – Indique si le thread safety est donné ou nonmaxdb_use_result – Initialise un jeu de résultatsmaxdb_warning_count –  Retourne le nombre d’avertissements depuis la dernière requête pour un lien donné

Travail collaboratif

Contribuez, en ajjoutant des elements a cette page de manuel :

Merci de votre aide
L’equipe Php.fr

 


Index | Afficher le texte source | Anciennes révisions | Derniers changements | Connexion
©2007 Wiki Copyright