mysqli::real_connect
mysqli_real_connect
(PHP 5)
mysqli::real_connect -- mysqli_real_connect — Ouvre une connexion à un serveur MySQL
Description
Style orienté objet :
Style procédural :
mysqli_real_connect() établit une connexion avec un serveur MySQL.
Cette fonction diffère de mysqli_connect() :
-
mysqli_real_connect() a besoin d'un objet créé avec mysqli_init().
-
Avec la fonction mysqli_options(), vous pouvez configurer différentes options de connexion.
-
Il y a un paramètre supplémentaire flags .
Liste de paramètres
- link
-
Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()
- host
-
Peut-être un nom d'hôte ou une adresse IP. En utilisant la valeur NULL ou la chaîne "localhost", l'hôte local est utilisé. Lorsque c'est possible, les pipes seront utilisés à la place de la pile TCP/IP.
- username
-
Le nom d'utilisateur MySQL.
- passwd
-
Si non fourni ou NULL, le serveur MySQL tentera de réaliser l'identification avec les utilisateurs sans mot de passe. Cela permet à un nom d'utilisateur d'être utilisé avec différentes droits, suivant que le mot de passe est fourni ou pas.
- dbname
-
Si fourni, ce paramètre indique le nom de la base de données de travail par défaut.
- port
-
Spécifie le numéro de port à utiliser pour se connecter au serveur MySQL.
- socket
-
Spécifie la socket ou le pipe nommé qui doit être utilisé pour établir la connexion.
Note: Spécifier explicitement le paramètre socket ne détermine pas le type de méthode utilisée lors de la connexion à MySQL. La méthode est déterminée par le paramètre host .
- flags
-
Avec le paramètre flags , vous pouvez configurer différentes directives de connexion :
Options supportées Nom Description MYSQLI_CLIENT_COMPRESS Utilise le protocole compressé MYSQLI_CLIENT_FOUND_ROWS Retourne le nombre de ligne trouvées, pas le nombre de lignes affectées. MYSQLI_CLIENT_IGNORE_SPACE Autorise les espaces entre les noms de fonctions et les arguments. Cela force les noms de fonctions à être des mots réservés. MYSQLI_CLIENT_INTERACTIVE Autorise interactive_timeout secondes (au lieu de wait_timeout secondes) d'inactivité avant de fermer la connexion. MYSQLI_CLIENT_SSL Utilise le chiffrement SSL Note: Pour des raisons de sécurité, l'option MULTI_STATEMENT n'est pas supportée en PHP. Si vous voulez exécuter plusieurs commandes, utilisez la fonction mysqli_multi_query().
Valeurs de retour
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
Exemples
Exemple #1 Style orienté objet
<?php
$mysqli = mysqli_init();
if (!$mysqli) {
die('mysqli_init failed');
}
if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Setting MYSQLI_INIT_COMMAND failed');
}
if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}
if (!$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db')) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo 'Succès... ' . $mysqli->host_info . "\n";
$mysqli->close();
?>
Exemple #2 Style orienté objet, avec extension de la classe mysqli
<?php
class foo_mysqli extends mysqli {
public function __construct($host, $user, $pass, $db) {
parent::init();
if (!parent::options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Setting MYSQLI_INIT_COMMAND failed');
}
if (!parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}
if (!parent::real_connect($host, $user, $pass, $db)) {
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_init();
if (!$link) {
die('mysqli_init failed');
}
if (!mysqli_options($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Setting MYSQLI_INIT_COMMAND failed');
}
if (!mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}
if (!mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'my_db')) {
die('Connect Error (' . 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... MySQL host info: localhost via TCP/IP
Voir aussi
- mysqli_connect() - Ouvre une connexion à un serveur MySQL
- mysqli_init() - Initialise MySQLi et retourne une ressource à utiliser avec mysqli_real_connect()
- mysqli_options() - Définit les options
- mysqli_ssl_set() - Utilisée pour établir une connexion sécurisée avec SSL
- mysqli_close() - Ferme une connexion
mysqli::real_connect
