Pour compiler, utilisez tout simplement l'option de configuration
--with-mysql[=DIR]
où le paramètre optionnel [DIR] pointe vers
le dossier d'installation de MySQL.
Bien que cette extension MySQL soit compatible avec MySQL 4.1.0 et supérieur,
elle ne supporte pas les fonctionnalités supplémentaires que cette version fournit.
Pour cela, utilisez plutôt l'extension MySQLi.
Si vous voulez installer l'extension mysqli en même temps que l'extension
mysql, vous devez utiliser la même bibliothèque client afin d'éviter les
conflits.
L'option --with-mysql est
activée par défaut. Ce comportement par défaut peut être
désactivé avec l'option de configuration
--without-mysql.
Si MySQL est activé sans spécifier le chemin vers le dossier d'installation
de MySQL, PHP utilisera la bibliothèque cliente MySQL fournie dans la distribution PHP.
Les utilisateurs qui se servent d'autres applications qui utilisent MySQL
(par exemple, auth-mysql) ne doivent pas utiliser la bibliothèque intégrée,
mais plutôt spécifier --with-mysql=/path/to/mysql.
Cela va forcer PHP Ã utiliser les bibliothèques clientes installées
par MySQL, et évitera les conflits.
MySQL n'est plus activé par défaut, et la bibliothèque MySQL
n'est plus fournie avec PHP. Lisez la
FAQ pour savoir pourquoi.
Utilisez l'option de configuration --with-mysql[=DIR]
pour inclure le support MySQL.
Vous pouvez télécharger les en-têtes et les bliothèques
depuis le site officiel de MySQL.
MySQL n'est plus activé par défaut, ainsi, la biliothèque
php_mysql.dll doit être activée dans le php.ini.
De plus, PHP doit avoir accès à la bibliothèque cliente MySQL.
Un fichier nommé libmysql.dll est inclu dans
la distribution de PHP pour Windows et pour que PHP puisse discuter
avec MySQL, ce fichier doit être disponible dans le PATH
du système Windows. Lisez la FAQ intitulée
"Où dois-je ajouter mon répertoire PHP Ã la variable
PATH sous Windows ?" pour plus d'informations sur
la réalisation de cela. Néanmoins, le fait de copier le fichier
libmysql.dll dans le répertoire système de Windows fonctionne
(car le dossier système est par défaut dans le PATH système),
mais cela n'est pas du tout recommandé.
Pour activer n'importe quelle extension PHP (comme
php_mysql.dll), la directive PHP
extension_dir doit être définie
et doit pointer vers le dossier où sont stockées les extensions PHP.
Lisez également le
manuel d'installation sous Windows.
Par exemple, voici une valeur possible pour la directive
extension_dir en PHP 5 :
c:\php\ext
Note :
Si lorsque vous démarrez le serveur web une erreur similaire à ceci apparaît :
"Unable to load dynamic library './php_mysql.dll'",
c'est parce que php_mysql.dll et/ou
libmysql.dll n'ont pû être trouvés par le système.
Des crashes et des problèmes de démarrage de PHP peuvent
être rencontrés 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
bibliothèque externe libmysql (non fournie), compilée avec ce
jeu de caractères.
Mode trace. Lorsque mysql.trace_mode est activée,
des alertes pour scans de table ou d'index, pour oubli de libération
des ressources ou erreurs SQL seront affichées. Cette option
a été introduite en PHP 4.3.0)
Le numéro de port TCP par défaut, utilisé pour se connecter
à la base de données, lorsque aucun port n'est spécifié. Si aucun
port par défaut n'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 ordre. Windows
n'utilisera aussi que la constante MYSQL_PORT.
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 pas lorsque le safe mode SQL est activé.
Utilisateur par défaut, à utiliser lors de la connexion à un serveur
MySQL, si aucun utilisateur n'est spécifié.
Ne s'applique pas lorsque le safe mode SQL 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 pas lorsque le safe mode SQL est activé.
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).
MYSQL_CLIENT_SSL
Utilisation du chiffrement SSL. Cette constante n'est disponible
qu'Ã partir de la version 4.x et plus récente de la bibliothèque cliente MySQL.
La version 3.23.x est fournis avec PHP 4 ainsi qu'avec les binaires
pour windows de PHP 5.
La fonction mysql_fetch_array() utilise une constante
pour spécifier les différents types de formats de réponse. Les constantes
suivantes sont utilisées :
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.
Note :
La plupart des fonctions MySQL acceptent
link_identifier comme le dernier paramètre
optionnel. S'il n'est pas fourni, la dernière connexion ouverte est
utilisée. Si elle n'existe pas, une connexion est essayée d'être établie
avec les paramètres par défaut définis dans php.ini. Si les fonctions ne
réussissent pas, elles retournent FALSE.
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.
Exemple 1. Exemple de présentation de l'extension MySQL
<?php // Connexion et sélection de la base $link = mysql_connect("mysql_hote", "mysql_utilisateur", "mysql_mot_de_passe") or die("Impossible de se connecter"); echo "Connexion réussie"; mysql_select_db("my_database") or die("Could not select database");
// Exécuter des requêtes SQL $query = "SELECT * FROM my_table"; $result = mysql_query($query) or die("Query failed");
// Afficher des résultats en HTML echo "<table>\n"; while ($line = mysql_fetch_assoc($result)) { 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 résultats mysql_free_result($result);
// Fermeture de la connexion mysql_close($link); ?>
Table des matières
mysql_affected_rows --
Retourne le nombre de lignes affectées lors de la dernière opération MySQL
mysql_change_user -- Change le nom de l'utilisateur de la connexion active
mysql_client_encoding --
Retourne le nom du jeu de caractères utilisé par le client MySQL