Ouvre une connexion à un serveur MySQL

# 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 et ces entrées de la FAQ pour plus d'informations. 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

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.

### Historique

Version | Description
--- | ---
5.5.0 | Cette fonction va générer une alerte de niveau `E_DEPRECATED`.

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

### Voir aussi

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