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. Alternatives à cette fonction :

- mysqli_connect()
- PDO::__construct()

### Description

function 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`. Consulter 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 connecte à 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 connecte à 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 qu'on spécifie "localhost" ou "localhost:port" en tant que serveur, la bibliothèque client MySQL surchargera cela et essaiera de se connecter à un socket local (nommé pipe sous Windows). Pour utiliser TCP/IP, utiliser "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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open