LXXV. 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 |
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
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.
- 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ées
- maxdb_commit -- Valide la transaction courante
- maxdb_connect_errno -- Retourne le code erreur du dernier appel à la connexion
- maxdb_connect_error -- Retourne une chaîne descriptive de la dernière erreur
- maxdb_connect -- Oubre une nouvelle connexion sur un serveur MaxDB
- maxdb_data_seek -- Ajuste le pointeur de résultat sur une ligne arbitraire dans le résultat
- maxdb_debug -- Effectue des opérations de déboguage
- maxdb_disable_reads_from_master -- Désactive la lecture depuis le maître
- maxdb_disable_rpl_parse -- Désactive l'analyseur RPL
- maxdb_dump_debug_info -- Sauvegarde les informations de débogage dans un log
- maxdb_embedded_connect -- Ouvre une connexion sur un serveur MaxDB embarqué
- maxdb_enable_reads_from_master -- Active la lecture depuis le maître
- maxdb_enable_rpl_parse -- Active l'analyseur RPL
- maxdb_errno -- Retourne le code erreur pour le dernier appel à une fonction
- maxdb_error -- Retourne une chaîne représentant la dernière erreur
- maxdb_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 deux
- maxdb_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ésultats
- maxdb_fetch_fields -- Retourne un tableau de ressource représentant les champs dans un jeu de résultats
- maxdb_fetch_lengths -- Retourne la longueur des colonnes de la ligne courante dans un jeu de résultats
- maxdb_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ête
- maxdb_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ésultat
- maxdb_get_client_info -- Retourne la version du client MaxDB sous la forme d'une chaîne
- maxdb_get_client_version -- Récupère des informations sur le client MaxDB
- maxdb_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 MaxDB
- maxdb_get_server_version -- Retourne la version du serveur MaxDB sous la forme d'un entier
- maxdb_info -- Récupère des informations sur le dernière requête exécutée
- maxdb_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ête
- maxdb_kill -- Déconnecte un serveur MaxDB
- maxdb_master_query -- Force l'exécution d'une requête sur le maître dans une configuration maître/esclave
- maxdb_more_results -- Vérifie s'il y a encore des résultats de disponibles depuis de multiples requêtes
- maxdb_multi_query -- Exécute une requête sur une base de données
- maxdb_next_result -- Préapre le prochain résultat depuis multi_query
- maxdb_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 options
- maxdb_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ées
- maxdb_real_connect -- Ouvre une connexion sur un serveur MaxDB
- maxdb_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 SQL
- maxdb_report -- Active ou désactive le rapport interne des fonctions
- maxdb_rollback -- Annule la transaction courante
- maxdb_rpl_parse_enabled -- Vérifie si l'analyseur RPL est activé
- maxdb_rpl_probe -- Test RPL
- maxdb_rpl_query_type -- Retourne une requête de type RPL
- maxdb_select_db -- Sélectionne une base de données pour les requêtes
- maxdb_send_long_data -- Alias de maxdb_stmt_send_long_data()
- maxdb_send_query -- Envoie une requête et retourne
- maxdb_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 MaxDB
- maxdb_ssl_set -- Utilisé pour établir une connexion sécurisée utilisant SSL
- maxdb_stat -- Récupère le statut courant du système
- maxdb_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ètres
- maxdb_stmt_bind_result -- Lie les variables à une requête préparée pour stockage du résultat
- maxdb_stmt_close_long_data -- Termine une séquence maxdb_stmt_send_long_data()
- maxdb_stmt_close -- Ferme une requête préparée
- maxdb_stmt_data_seek -- Se positionne sur une ligne arbitraire dans le jeu de résultats
- maxdb_stmt_errno -- Retourne le code erreur pour le dernier appel à une fonction de requête
- maxdb_stmt_error -- Retourne une description de la dernière erreur
- maxdb_stmt_execute -- Exécute une requête préparée
- maxdb_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ésultats
- maxdb_stmt_param_count -- Retourne le nombre de marqueurs pour une requête donnée
- maxdb_stmt_prepare -- Prépare une requête SQL pour exécution
- maxdb_stmt_reset -- Réinitialise une requête préparée
- maxdb_stmt_result_metadata -- Retourneles méta-données du jeu de résultats pour une requête préparée
- maxdb_stmt_send_long_data -- Envoie des données dans un block
- maxdb_stmt_sqlstate -- Retourne une erreur SQLSTATE depuis la requête précédante
- maxdb_stmt_store_result -- Transfert un jeu de résultats depuis une requête préparée
- maxdb_store_result -- Transfert un jeu de résultats depuis la dernière requête
- maxdb_thread_id -- Retourne l'identifiant du thread pour la connexion courante
- maxdb_thread_safe -- Indique si le thread safety est donné ou non
- maxdb_use_result -- Initialise un jeu de résultats
- maxdb_warning_count -- Retourne le nombre d'avertissements depuis la dernière requête pour un lien donné
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ