mysqli->connect_error
mysqli::debug
MySQLi
PHP Manual

# mysqli::__construct

# mysqli_connect

(PHP 5)

mysqli::__construct -- mysqli_connect — Ouvre une connexion à un serveur MySQL

### Description

Style orienté objet :

mysqli::__construct ([ string `$host`= ini_get("mysqli.default_host") [, string `$username`= ini_get("mysqli.default_user") [, string `$passwd`= ini_get("mysqli.default_pw") [, string `$dbname`= "" [, int `$port`= ini_get("mysqli.default_port") [, string `$socket`= ini_get("mysqli.default_socket") ]]]]]] )

Style procédural :

mysqli mysqli_connect ([ string `$host`= ini_get("mysqli.default_host") [, string `$username`= ini_get("mysqli.default_user") [, string `$passwd`= ini_get("mysqli.default_pw") [, string `$dbname`= "" [, int `$port`= ini_get("mysqli.default_port") [, string `$socket`= ini_get("mysqli.default_socket") ]]]]]] )

Ouvre une connexion au serveur MySQL de l'hôte `host` qui peut être un nom d'hôte ou une adresse IP.

### Liste de paramètres

`host`

  Peut être un nom d'hôte ou une adresse IP. Si vous passez la valeur `NULL` ou la chaîne "localhost" à ce paramètre, l'hôte local est sous-entendu. Lorsque c'est possible, les sockets seront utilisées au lieu du protocole TCP/IP.

  Préfixer l'hôte par p: ouvre une connexion persistante mysqli_change_user() est automatiquement appelé sur les connexions qui sont utilisées dans le pool de connexions.

`username`

  Le nom d'utilisateur MySQL.

`passwd`

  Si le mot de passe n'est pas indiqué (la valeur `NULL` est passée), le serveur MySQL essaiera d'identifier l'utilisateur en étudiant que les enregistrements où les utilisateurs n'ont pas de mot de passe. Cela permet à un utilisateur de jouir de plusieurs permissions (selon que l'on fournit le mot de passe ou non).

`dbname`

  Si fourni, spécifiera la base de données par défaut à utiliser lors de l'exécution de requêtes.

`port`

  Spécifie le numéro du port pour la connexion au serveur MySQL.

`socket`

  Spécifie le socket ou le nom du tunnel à utiliser.

  > Note: Spécifier le paramètre `socket` ne déterminera pas explicitement le type de connexion qui sera utilisé lors de la connexion au serveur MySQL. Cela est déterminé par le paramètre `host` .

### Valeurs de retour

Retourne un objet qui représente la connexion au serveur MySQL.

### Historique

Version | Description
--- | ---
5.3.0 | Ajout des connexions persistantes.

### Exemples

Exemple #1 Style orienté objet

`<?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
/*
* Ceci est le style POO "officiel"
* MAIS $connect_error était erroné jusqu'en PHP 5.2.9 et 5.3.0.
*/
if ($mysqli->connect_error) {
die('Erreur de connexion (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
/*
* Utilisez cette syntaxe de $connect_error si vous devez assurer
* la compatibilité avec les versions de PHP avant 5.2.9 et 5.3.0.
*/
if (mysqli_connect_error()) {
die('Erreur de connexion (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo 'Succès... ' . $mysqli->host_info . "\n";
$mysqli->close();
?>`

Exemple #2 Style orienté objet, avec extension de mysqli

`<?php
class foo_mysqli extends mysqli {
public function __construct($host, $user, $pass, $db) {
parent::__construct($host, $user, $pass, $db);
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
}
}
$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');
echo 'Succès... ' . $db->host_info . "\n";
$db->close();
?>`

Exemple #3 Style procédural

`<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
if (!$link) {
die('Erreur de connexion (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo 'Succès... ' . mysqli_get_host_info($link) . "\n";
mysqli_close($link);
?>`

L'exemple ci-dessus va afficher :

    Succès... Localhost via UNIX socket

### Notes

> Note: Uniquement pour la syntaxe orientée objet :pour vérifier si la connexion a échoué, utilisez la fonction mysqli_connect_error() ou la propriété mysqli->connect_error.

> Note: S'il est nécessaire de configurer des options, telles que le délai de connexion, mysqli_real_connect() doit être utilisé.

> Note: Appeler le constructeur sans paramètre a le même effet qu'appeler mysqli_init().

> Note: L'erreur "Can't create TCP/IP socket (10106)" signifie à généralement que la directive de configuration variables_order ne contient pas le caractère E. Sous Windows, si l'environnement n'est pas copié, la variable d'environnement SYSTEMROOT ne sera pas disponible et PHP aura des soucis pour charger Winsock.

### Voir aussi

- mysqli_real_connect() - Ouvre une connexion à un serveur MySQL
- mysqli_options() - Définit les options
- mysqli_connect_errno() - Retourne le code d'erreur de la connexion MySQL
- mysqli_connect_error() - Retourne le message d'erreur de connexion MySQL
- mysqli_close() - Ferme une connexion

mysqli->connect_error
mysqli::debug
MySQLi
PHP Manual