(PHP 4, PHP 5)
mysql_connect — Ouvre une connexion à un serveur MySQL
Cette extension est obsolète depuis PHP 5.5.0, et sera supprimée dans le futur. À la place, les extensions MySQLi ou PDO_MySQL doivent être utilisées. Voir aussi le guide MySQL : choix de l'API ainsi que la FAQ associée pour plus d'information. Voici les alternatives à cette fonction :
$server
= ini_get("mysql.default_host")
[, string $username
= ini_get("mysql.default_user")
[, string $password
= ini_get("mysql.default_password")
[, bool $new_link
= false
[, int $client_flags
= 0
]]]]] )Ouvre ou réutilise une connexion à un serveur MySQL.
server
Le serveur MySQL. Il peut aussi inclure le numéro de port. C'est-à-dire "hostname:port" ou le chemin vers le socket local, c'est-à-dire ":/path/to/socket" pour localhost.
Si la directive PHP mysql.default_host n'est pas définie (défaut), alors la valeur par défaut est "localhost:3306". En safe mode SQL, ce paramètre est ignoré et la valeur "localhost:3306" est toujours utilisée.
username
Le nom d'utilisateur. La valeur par défaut est définie par l'option mysql.default_user. En safe mode SQL, ce paramètre est ignoré et le nom de l'utilisateur propriétaire du processus serveur est utilisé.
password
Le mot de passe. La valeur par défaut est définie par l'option mysql.default_password. En safe mode SQL, ce paramètre est ignoré et un mot de passe vide est utilisé.
new_link
Si un deuxième appel est fait à mysql_connect()
avec les mêmes arguments, aucune nouvelle connexion ne sera établie,
mais plutôt, l'identifiant de la connexion de la connexion déjà ouverte
sera retourné. Le paramètre new_link
modifie ce
comportement et permet à mysql_connect() de toujours
ouvrir une nouvelle connexion, même si
mysql_connect() a été appelée avant avec les mêmes
paramètres.
En safe mode SQL, ce paramètre est ignoré.
client_flags
Le paramètre client_flags
peut être une
combinaison des constantes suivantes :
128 (active le gestionnaire LOAD DATA LOCAL),
MYSQL_CLIENT_SSL
,
MYSQL_CLIENT_COMPRESS
,
MYSQL_CLIENT_IGNORE_SPACE
ou
MYSQL_CLIENT_INTERACTIVE
.
Lisez la section à propos de Constantes client MySQL
pour plus d'informations.
En safe mode SQL, ce paramètre est ignoré.
Retourne l'identifiant de connexion MySQL en cas de succès ou FALSE
si une erreur survient.
Version | Description |
---|---|
5.5.0 |
Cette fonction va générer une alerte de niveau
E_DEPRECATED .
|
4.3.0 |
Ajout du paramètre client_flags .
|
4.2.0 |
Ajout du paramètre new_link .
|
Exemple #1 Exemple avec mysql_connect()
<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password")
or die("Impossible de se connecter : " . mysql_error());
echo 'Connexion réussie';
mysql_close($link);
?>
Exemple #2 Exemple avec mysql_connect() en utilisant la syntaxe hostname:port
<?php
// on se connecte à example.com et au port 3307
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Connexion impossible : ' . mysql_error());
}
echo 'Connecté correctement';
mysql_close($link);
// on se connect à localhost au port 3307
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Connexion impossible : ' . mysql_error());
}
echo 'Connecté correctement';
mysql_close($link);
?>
Exemple #3 Exemple avec mysql_connect() en utilisant la syntaxe ":/path/to/socket"
<?php
// on se connect à localhost et à l'interface de connexion, par exemple /tmp/mysql.sock
//variante 1 : oublie de localhost
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
die('Connexion impossible : ' . mysql_error());
}
echo 'Connecté correctement';
mysql_close($link);
// variante 2 : avec localhost
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
die('Connexion impossible : ' . mysql_error());
}
echo 'Connecté correctement';
mysql_close($link);
?>
Note:
Toutes les fois que vous spécifiez "localhost" ou "localhost:port" en tant que serveur, le bibliothèque client MySQL surchargera cela et essaiera de se connecter à un socket local (nommé pipe sous Windows). Si vous souhaitez utiliser TCP/IP, utilisez "127.0.0.1" au lieu de "localhost". Si la bibliothèque client MySQL essaie de se connecter au mauvais socket local, vous devriez spécifier le chemin d'accès correct à dans votre configurations PHP et laisser le champ du serveur vide.
Note:
La connexion au serveur sera fermée aussitôt que l'exécution du script se termine, à moins qu'elle soit fermée avant en appelant explicitement mysql_close().
Note:
Vous pouvez supprimer les messages d'erreur en cas d'échec en faisant précéder le nom de la fonction par @.
Note:
L'erreur "Can't create TCP/IP socket (10106)" signifie habituellement que la directive de configuration variables_order ne contient pas le caractère E. Sous Windows, si la variable d'environnement n'est pas copiée, la variable d'environnement SYSTEMROOT ne sera pas disponible et PHP aura des problèmes pour charger Winsock.