|
L'extension mysqli vous permet d'accéder aux fonctionnalités fournies par MySQL 4.1 et plus. Plus d'informations sur le serveur de bases de données MySQL peuvent être trouvées sur http://www.mysql.com/
La documentation de MySQL peut être trouvée sur http://dev.mysql.com/doc/.
Une partie de cette documentation provient du manuel officiel MySQL avec la permission de MySQL AB.
Pour faire fonctionner ces fonctions, vous devez compiler PHP avec le support de l'extension MySQLi.
Note : L'extension MySQLi est conçue pour fonctionner avec la version 4.1.3 ou plus de MySQL. Pour les versions plus anciennes, voyez la documentation de l'extension MySQL.
Pour installer l'extension mysqli pour PHP, utilisez l'option de configuration --with-mysqli=mysql_config_path où mysql_config_path représente l'endroit où se trouve le programme mysql_config qui accompagne les versions de MySQL supérieures à la 4.1. Désactivez aussi l'extension standard MySQL (qui est activée par défaut) en utilisant aussi l'option de configuration --without-mysql. Si vous voulez installer l'extension standard mysql en même temps que l'extension mysqli, la bibliothèque embarquée libmysql distribuée avec PHP ne peut être utilisée. Utilisez à la place les bibliothèques clientes installées par MySQL avec des versions inférieures à la 4.1. Cela forcera PHP à utiliser les bibliothèques du client installées par MySQL pour éviter les conflits.
Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
Tableau 1. Options de configuration MySQLi
Nom | Par défaut | Modifiable | Historique |
---|---|---|---|
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Disponible depuis PHP 5.0.0. |
mysqli.default_port | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0. |
mysqli.default_socket | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0. |
mysqli.default_host | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0. |
mysqli.default_user | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0. |
mysqli.default_pw | NULL | PHP_INI_ALL | Disponible depuis PHP 5.0.0. |
Voici un éclaircissement sur l'utilisation des directives de configuration.
Le nombre maximal de connexions MySQL par processus, incluant les connexions persistantes.
Le numéro par défaut de port TCP à utiliser lors de la connexion au serveur si aucun autre port n'est fourni. S'il n'est pas défini, le port sera obtenu à partir de la variable d'environnement MYSQL_TCP_PORT, l'entrée mysql-tcp dans /etc/services ou la constante de compilation MYSQL_PORT, dans cet ordre. Win32 n'utilisera que la constante MYSQL_PORT.
Le nom par défaut de la socket à utiliser lors des connexions locales au serveur si aucun autre nom n'est fourni.
Le serveur par défaut à utiliser lors de la connexion à un serveur si aucun autre hôte n'est fourni. Ne s'applique pas avec le safe mode.
Le nom d'utilisateur par défaut à utiliser lors de la connexion à un serveur si aucun autre nom n'est fourni. Ne s'applique pas avec le safe mode.
Le mot de passe par défaut à utiliser lors de la connexion à un serveur si aucun autre mot de passe n'est fourni. Ne s'applique pas avec le safe mode.
Représente la connexion entre PHP et le serveur MySQL.
mysqli - construit un nouvel objet mysqli
autocommit - Active ou désactive l'auto-commit
change_user - Change l'utilisateur de la connexion
character_set_name - Retourne le jeu de caractères par défaut de la connexion
close - Ferme une connexion ouverte
commit - Valide la transaction courante
connect - Ouvre une nouvelle connexion au serveur MySQL
debug - Effectue des opérations de débogage
dump_debug_info - Affiche les informations de débogage
get_client_info - Retourne la version du client
get_host_info - Retourne le type de connexion utilisé
get_server_info - Retourne la version du serveur MySQL
get_server_version - Retourne la version du serveur MySQL
init - Initialise un objet mysqli
info - Lit les informations concernant la dernière requête
kill - Tente de terminer un thread serveur
multi_query - Exécute une requête multiple
more_results - Vérifie si d'autres résultats existent après une commande multiple
next_result - Lit le prochain résultat d'une commande multiple
options - Modifie des options
ping - Pinge la connexion au serveur ou se reconnecte si elle est morte
prepare - Prépare une requête SQL
query - Exécute une requête SQL
real_connect - Tente de se connecter au serveur MySQL
escape_string - Protège les caractères spéciaux dans une chaîne
rollback - Annule la transaction courante
select_db - Sélectionne la base de données par défaut
set_charset - Définit le jeu de caractères par défaut du client
ssl_set - Configure les paramètres SSL
stat - Lit le statut courant du système
stmt_init - Initialise une commande pour utilisation avec mysqli_stmt_prepare
store_result - Lit le jeu de résultat de la dernière requête
use_result - Transfère un résultat non-bufferisé
thread_safe - Indique si la sécurité thread est activée
affected_rows - Lit le nombre de lignes affectées par la dernière opération
client_info - Retourne la version cliente de MySQL en tant que chaîne de caractères
client_version - Retourne la version cliente de MySQL en tant qu'entier
errno - Retourne le code d'erreur du dernier appel de fonction
error - Retourne le message d'erreur du dernier appel de fonction
field_count - Retourne le nombre de colonnes de la dernière commande
host_info - Retourne une chaîne décrivant le type de connexion utilisé
info - Lit les informations sur la dernière commande exécutée
insert_id - Retourne le dernier identifiant généré
protocol_version - Retourne la version du protocole MySQL utilisé
sqlstate - Retourne une chaîne contenant le code d'erreur SQLSTATE
thread_id - Retourne l'identifiant de thread de la connexion courante
warning_count - Retourne le nombre d'alertes générées durant l'exécution de la dernière commande SQL
Représente une commande préparée.
bind_param - Associe des variables à une commande préparée
bind_result - Associe des variables à un résultat
close - Termine une commande préparée
data_seek - Place le curseur à une ligne arbitraire dans un jeu de résultat
execute - Exécute une commande préparée
fetch - Lit une ligne de résultat dans des variables associées
free_result - Libère le résultat de la mémoire
result_metadata - Lit un résultat d'une commande préparée
prepare - Prépare une commande SQL
send_long_data - Envoie les données par bloc
reset - annule une commande SQL
store_result - Bufferise complètement le résultat d'une commande préparée
affected_rows - Retourne le nombre de lignes affectées par la dernière commande SQL
errno - Retourne le code d'erreur de la dernière commande
errno - Retourne le message d'erreur de la dernière commande
param_count - Retourne le nombre de paramètres nécessaires pour une commande préparée
sqlstate - Retourne une chaîne contenant le code d'erreur SQLSTATE de la dernière commande
Représente le résultat retourné par le serveur.
close - Termine le jeu de résultat MySQL
data_seek - Déplace le pointeur de lignes de résultat
fetch_field - Lit les informations de colonnes dans un résultat
fetch_fields - Lit les informations de toutes les colonnes d'un résultat
fetch_field_direct - Lit les informations de colonne
fetch_array - Lit une ligne de résultat dans un tableau associatif ou numérique
fetch_assoc - Lit une ligne de résultat dans un tableau associatif
fetch_object - Lit une ligne de résultat dans un objet
fetch_row - Lit une ligne de résultat dans un tableau numérique
close - Libère le résultat de la mémoire
field_seek - Place le pointeur de résultat à un offset valide
current_field - Retourne la position du pointeur de résultat
field_count - Retourne le nombre de champs du résultat
lengths - Retourne un tableau avec les tailles de colonnes
num_rows - Retourne le nombre de lignes du résultat
Tableau 2. Constantes MySQLi
Nom | Description |
---|---|
MYSQLI_READ_DEFAULT_GROUP (entier) | Lit les options dans le groupe `my.cnf' ou dans le fichier spécifié par MYSQLI_READ_DEFAULT_FILE |
MYSQLI_READ_DEFAULT_FILE (entier) | Lit les options dans le fichier spécifié, plutôt que dans my.cnf |
MYSQLI_OPT_CONNECT_TIMEOUT (entier) | Durée d'expiration de la connexion, en secondes |
MYSQLI_OPT_LOCAL_INFILE (entier) | Active la commande LOAD LOCAL INFILE |
MYSQLI_INIT_COMMAND (entier) | Commande à exécuter lors de la connexion au serveur MySQL. Cette commande sera exécutée automatiquement lors de la reconnexion au serveur. |
MYSQLI_CLIENT_SSL (entier) | Utilise le protocole SSL (chiffrement). Cette option ne doit pas être activée par un programme : elle doit être activée en interne, par la bibliothèque MySQL. |
MYSQLI_CLIENT_COMPRESS (entier) | Utilise le protocole compressé. |
MYSQLI_CLIENT_INTERACTIVE (entier) | Permet interactive_timeout secondes (au lieu de wait_timeout secondes) d'inactivité avant de fermer la connexion. La valeur de la variable wait_timeout du client prendra la valeur de interactive_timeout. |
MYSQLI_CLIENT_IGNORE_SPACE (entier) | Permet les espaces après un nom de fonction. Cela fait de tous les noms de fonctions, des mots réservés. |
MYSQLI_CLIENT_NO_SCHEMA (entier) | Interdit la syntaxe db_name.tbl_name.col_name. |
MYSQLI_CLIENT_MULTI_QUERIES (entier) | |
MYSQLI_STORE_RESULT (entier) | Pour les résultats mis en tampon. |
MYSQLI_USE_RESULT (entier) | Pour les résultats non-mis en tampon. |
MYSQLI_ASSOC (entier) | Les colonnes sont retournées dans le tableau, avec leurs noms comme index. |
MYSQLI_NUM (entier) | Les colonnes sont retournées dans le tableau, avec leurs numéros comme index. |
MYSQLI_BOTH (entier) | Les colonnes sont retournées dans le tableau, avec leurs noms et leurs numéros comme index. |
MYSQLI_NOT_NULL_FLAG (entier) | Indique qu'un champ est défini comme NOT NULL |
MYSQLI_PRI_KEY_FLAG (entier) | Le champ est une clé primaire. |
MYSQLI_UNIQUE_KEY_FLAG (entier) | Le champ est un index unique. |
MYSQLI_MULTIPLE_KEY_FLAG (entier) | Le champ fait partie d'un index. |
MYSQLI_BLOB_FLAG (entier) | Le champ est de type BLOB |
MYSQLI_UNSIGNED_FLAG (entier) | Le champ est de type UNSIGNED |
MYSQLI_ZEROFILL_FLAG (entier) | Le champ est de type ZEROFILL |
MYSQLI_AUTO_INCREMENT_FLAG (entier) | Le champ est de type AUTO_INCREMENT |
MYSQLI_TIMESTAMP_FLAG (entier) | Le champ est de type TIMESTAMP |
MYSQLI_SET_FLAG (entier) | Le champ est de type SET |
MYSQLI_NUM_FLAG (entier) | Le champ est de type NUMERIC |
MYSQLI_PART_KEY_FLAG (entier) | Le champ fait partie d'un index multiple |
MYSQLI_GROUP_FLAG (entier) | Le champ fait partie de la clause GROUP BY |
MYSQLI_TYPE_DECIMAL (entier) | Le champ est de type DECIMAL |
MYSQLI_TYPE_TINY (entier) | Le champ est de type TINYINT |
MYSQLI_TYPE_SHORT (entier) | Le champ est de type INT |
MYSQLI_TYPE_LONG (entier) | Le champ est de type INT |
MYSQLI_TYPE_FLOAT (entier) | Le champ est de type FLOAT |
MYSQLI_TYPE_DOUBLE (entier) | Le champ est de type DOUBLE |
MYSQLI_TYPE_NULL (entier) | Le champ est de type DEFAULT NULL |
MYSQLI_TYPE_TIMESTAMP (entier) | Le champ est de type TIMESTAMP |
MYSQLI_TYPE_LONGLONG (entier) | Le champ est de type BIGINT |
MYSQLI_TYPE_INT24 (entier) | Le champ est de type MEDIUMINT |
MYSQLI_TYPE_DATE (entier) | Le champ est de type DATE |
MYSQLI_TYPE_TIME (entier) | Le champ est de type TIME |
MYSQLI_TYPE_DATETIME (entier) | Le champ est de type DATETIME |
MYSQLI_TYPE_YEAR (entier) | Le champ est de type YEAR |
MYSQLI_TYPE_NEWDATE (entier) | Le champ est de type DATE |
MYSQLI_TYPE_ENUM (entier) | Le champ est de type ENUM |
MYSQLI_TYPE_SET (entier) | Le champ est de type SET |
MYSQLI_TYPE_TINY_BLOB (entier) | Le champ est de type TINYBLOB |
MYSQLI_TYPE_MEDIUM_BLOB (entier) | Le champ est de type MEDIUMBLOB |
MYSQLI_TYPE_LONG_BLOB (entier) | Le champ est de type LONGBLOB |
MYSQLI_TYPE_BLOB (entier) | Le champ est de type BLOB |
MYSQLI_TYPE_VAR_STRING (entier) | Le champ est de type VARCHAR |
MYSQLI_TYPE_STRING (entier) | Le champ est de type CHAR |
MYSQLI_TYPE_GEOMETRY (entier) | Le champ est de type GEOMETRY |
MYSQLI_NEED_DATA (entier) | Il reste des variables à relier |
MYSQLI_NO_DATA (entier) | Il n'y a plus de variables à relier |
MYSQLI_DATA_TRUNCATED (integer) | Les données ont été tronquées. Disponible depuis PHP 5.1.0 et MySQL 5.0.5. |
Tous les exemples dans la documentation MySQLI utilisent la base de données "world" provenant de MySQL AB. La base de données "world" peut être trouvée ici : http://dev.mysql.com/get/Downloads/Manual/world.sql.gz/from/pick
Précédent | Sommaire | Suivant |
PDO_MYSQL DSN | Niveau supérieur | mysqli_affected_rows |
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:02:20