# mysql_connect

(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 :

- mysqli_connect()
- PDO::__construct()

### 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

Ouvre ou réutilise une connexion à un serveur MySQL.

### 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

- mysql_pconnect() - Ouvre une connexion persistante à un serveur MySQL
- mysql_close() - Ferme la connexion MySQL