(PHP 4, PHP 5)
mysql_connect — Ouvre une connexion à un serveur MySQL
Avertissement
Cette extension
était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0. À la place, vous pouvez
utiliser l'extension MySQLi ou l'extension
PDO_MySQL. Voir aussi
MySQL : choisir une API du guide.
Alternatives à cette fonction :
Description
mysql_connect(
string
$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
): resource|false
Liste de paramètres
-
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 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é.
Valeurs de retour
Retourne l'identifiant de connexion MySQL en cas de succès ou false si une erreur survient.
Exemples
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);
?>
Notes
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,
le chemin correct doit être défini comme mysql.default_host
dans php.ini et le champ serveur laissé 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:
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.
Voir aussi