(PHP 5)
mysqli_real_connect, mysqli->real_connect() — Ouvre une connexion à un serveur MySQL
Style procédural
bool mysqli_real_connect ( mysqli $link [, string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags]]]]]]] )Style orienté objet (méthode)
class mysqli {Tente d'établir une connexion avec un serveur MySQL d'un hôte.
Cette fonction diffère de mysqli_connect() en ces points :
mysqli_real_connect() a besoin d'un objet valide issu de la fonction mysqli_init()
Avec la fonction mysqli_options() , vous pouvez définir différentes options pour la connexion
Il y a un paramètre flags
Style procédural uniquement : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()
Peut être soit un nom d'hôte, soit une adresse IP. Si vous passez la valeur NULL ou la chaîne de caractères "localhost", l'hôte local sera utilisé. Lorsque c'est possible, un tunnel sera utilisé au lieu du protocole TCP/IP.
Le nom d'utilisateur MySQL.
Si fourni ou si vaut NULL , le serveur MySQL tentera d'identifier l'utilisateur par rapport aux utilisateurs présents dans la base MySQL qui n'ont pas de mot de passe associé. Ceci permet à un utilisateur d'être utilisé avec des permissions différentes (suivant si un mot de passe est fourni ou non).
Si fourni, spécifie la base de données par défaut à utiliser lors de l'exécution de requêtes.
Spécifie le numéro du port à utiliser pour la connexion au serveur MySQL.
Spécifie le socket ou le tunnel nommé à utiliser..
Note: Le fait de spécifier le paramètre socket ne détermine pas de façon explicite le type de connexion à utiliser lors de la connexion au serveur MySQL. La façon dont la connexion est réellement effectuée dépend du paramètre host .
Avec le paramètre flags , vous pouvez définir différents options de la connexion :
Tableau 189. Flags supportés
Nom | Description |
---|---|
MYSQLI_CLIENT_COMPRESS | Utilise un protocole de compression |
MYSQLI_CLIENT_FOUND_ROWS | Retourne le nombre de lignes sélectionnées, et non pas le nombre de lignes affectées |
MYSQLI_CLIENT_IGNORE_SPACE | Accepte les espaces après les noms de fonctions. Fait que tous les noms de fonctions sont des mots réservés. |
MYSQLI_CLIENT_INTERACTIVE | Permet interactive_timeout secondes (au lieu de wait_timeout secondes) d'inactivité avant de fermer la connexion. |
MYSQLI_CLIENT_SSL | Utilise SSL (chiffrage) |
Note: Pour des raisons de sécurité, l'option MULTI_STATEMENT n'est pas supporté en PHP. Si vous voulez exécuter plusieurs requêtes, utilisez la fonction mysqli_multi_query() .
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
Exemple 1691. Style orienté objet
<?php
/* Création d'un objet de connexion, sans être connecté */
$mysqli
=
mysqli_init
();
/* Définition des quelques options de connexion */
$mysqli
->
options
(
MYSQLI_INIT_COMMAND
,
"SET AUTOCOMMIT=0"
);
$mysqli
->
options
(
MYSQLI_OPT_CONNECT_TIMEOUT
,
5
);
/* Connexion au serveur */
$mysqli
->
real_connect
(
'localhost'
,
'my_user'
,
'my_password'
,
'world'
);
/* Vérification de la connexion */
if (
mysqli_connect_errno
()) {
printf
(
"Échec de la connexion : %s\n"
,
mysqli_connect_error
());
exit();
}
printf
(
"Connecté : %s\n."
,
$mysqli
->
host_info
);
$mysqli
->
close
();
?>
Exemple 1692. Style procédural
<?php
/* Création d'un objet de connexion, sans être connecté */
$link
=
mysqli_init
();
/* Définition des quelques options de connexion */
mysqli_options
(
$link
,
MYSQLI_INIT_COMMAND
,
"SET AUTOCOMMIT=0"
);
mysqli_options
(
$link
,
MYSQLI_OPT_CONNECT_TIMEOUT
,
5
);
/* Connexion au serveur */
mysqli_real_connect
(
$link
,
'localhost'
,
'my_user'
,
'my_password'
,
'world'
);
/* Vérification de la connexion */
if (
mysqli_connect_errno
()) {
printf
(
"Échec de la connexion : %s\n"
,
mysqli_connect_error
());
exit();
}
printf
(
"Connecté : %s\n."
,
mysqli_get_host_info
(
$link
));
mysqli_close
(
$link
);
?>
L'exemple ci-dessus va afficher :
Connecté : Localhost via UNIX socket
mysqli_connect() |
mysqli_init() |
mysqli_options() |
mysqli_ssl_set() |
mysqli_close() |