Forum und email

mysqli_real_connect

mysqli->real_connect()

(PHP 5)

mysqli->real_connect() — Ouvre une connexion à un serveur MySQL

Description

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)

mysqli
bool real_connect ([ string $host [, string $username [, string $passwd [, string $dbname [, int $port [, string $socket [, int $flags ]]]]]]] )

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

Liste de paramètres

link

Style procédural uniquement : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

host

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.

username

Le nom d'utilisateur MySQL.

passwd

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).

dbname

Si fourni, spécifie 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 à utiliser pour la connexion au serveur MySQL.

socket

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 .

flags

Avec le paramètre flags , vous pouvez définir différents options de la connexion :

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().

Valeurs de retour

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Exemples

Example#1 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_TIMEOUT5);

/* 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();
?>

Example#2 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($linkMYSQLI_INIT_COMMAND"SET AUTOCOMMIT=0");
mysqli_options($linkMYSQLI_OPT_CONNECT_TIMEOUT5);

/* 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