Ces fonctions vous permettent d'accéder aux bases de données MySQL. Le site officiel de cette base est http://www.mysql.com/.
La documentation de MySQL est disponible à http://www.mysql.com/documentation/.
En utilisant l'option --with-mysql. Si vous utilisez cette fonction sans préciser le chemin d'accès à la base MySQL, PHP utilisera les librairies clientes MySQL fournies en standard. Les utilisateurs qui font tourner d'autres applications qui utilisent elles-mêmes MySQL (par exemple, PHP 3 et PHP 4 utilisés comme des modules concurrents apache, ou encore auth-mysql), devraient toujours spécifier le chemin jusqu'à MySQL : --with-mysql=/path/to/mysql. Cela va forcer PHP à utiliser les librairies clientes installées par MySQL et évitera les conflits.
En PHP 5, MySQL n'est plus activé par défaut, et la librairie MysQL n'est plus fournie avec PHP. Lisez la FAQ pour savoir pourquoi.
Cette extension MySQL extension ne fonctionnera pas avec les versions de MySQL supérieure à la version 4.1.0. Pour cela, il faut utiliser l'extension MySQLi.
Avertissement |
Des crashes et des problèmes de démarrage de PHP peuvent être rencontré lorsque vous chargez cette fonction en même temps que l'extension recode. Voyez l'extension recode pour plus de détails. |
Note : Si vous avez besoin d'autres jeux de caractères que celui par défaut (latin), vous devez installer la librairie externe libmysql (non fournie), compilée avec ce jeu de caractères.
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 |
---|---|---|
mysql.allow_persistent | "On" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL |
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "0" | PHP_INI_SYSTEM |
Voici un éclaircissement sur l'utilisation des directives de configuration.
Active ou désactive les connexions persistantes à la base de données MySQL.
Le nombre maximum de connexions persistantes aux bases de données MySQL, par processus.
Le nombre maximum de connexions aux bases de données MySQL, y compris les connexions persistantes, par processus.
Le numéro de port TCP par défaut, utilisé pour se connecter à la base de données, lorsqu'aucun port n'est spécifié. Si aucun port par défaut est spécifié, le port sera alors obtenu en lisant la variable d'environnement MYSQL_TCP_PORT, l'entrée mysql-tcp dans le fichier /etc/services ou encore la constante de compilation MYSQL_PORT, dans cet order. Win32 n'utilisera aussi que la constante MYSQL_PORT.
Le nom par défaut de la socket lorsque l'on se conecte au serveur local, si aucune autre socket n'est spécifiée.
Adresse par défaut du serveur, à utiliser lors de la connexion à un serveur MySQL, si aucun hôte n'est spécifié. Ne s'applique par lorsque le safe mode est activé.
Utilisateur par défaut, à utiliser lors de la connexion à un serveur MySQL, si aucun utilisateur n'est spécifié. Ne s'applique par lorsque le safe mode est activé.
Mot de passe par défaut, à utiliser lors de la connexion à un serveur MySQL, si aucun mot de passe n'est spécifié. Ne s'applique par lorsque le safe mode est activé.
Durée maximale d'attente de la réponse d'un serveur, en secondes. Sous Linux, cette durée sert aussi lors de l'échange du premier avec le serveur.
Il y a deux types de ressources utilisées par le module MySQL. Le premier est un identifiant de connexion au serveur, appelé mysql link, et le second est un identifiant de résultat de requête, appelé mysql result.
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.
Depuis PHP 4.3.0, il est possible de spécifier des options de client supplémentaires pour les fonctions mysql_connect() et mysql_pconnect(). Ces constantes sont les suivantes :
Tableau 2. Constantes client MySQL
Constante | Description |
---|---|
MYSQL_CLIENT_COMPRESS | Utilise le protocole avec compression |
MYSQL_CLIENT_IGNORE_SPACE | Autorise les espaces après les noms de fonction |
MYSQL_CLIENT_INTERACTIVE | Autorise interactive_timeout secondes d'inactivité sur la connexion (au lieu de wait_timeout). |
La fonction mysql_fetch_array() utilise une constante pour spécifier les différents types de formats de réponse. Les constantes suivante sont utilisées :
Tableau 3. Constantes de mysql_fetch_array
Constante | Description |
---|---|
MYSQL_ASSOC | Les colonnes sont retournées dans un tableau, dont les index sont les noms de colonnes. |
MYSQL_BOTH | Les colonnes sont retournées dans un tableau ayant une indexation numérique et un système d'index correspondant au nom des colonnes. |
MYSQL_NUM | Les colonnes sont retournées dans un tableau avec un index numérique. Les colonnes sont numérotées dans leur ordre d'apparition. L'index commence à zéro. |
Cet exemple simple montre comment se connecter, exécuter une requête, lire les informations obtenues et se déconnecter d'une base de données MySQL.
Précédent | Sommaire | Suivant |
msql | Niveau supérieur | mysql_affected_rows |