downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mysqli::debug> <mysqli->connect_error
Last updated: Fri, 14 Aug 2009

view this page in

mysqli::__construct

mysqli_connect

(PHP 5)

mysqli::__construct -- mysqli_connectOuvre 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::debug> <mysqli->connect_error
Last updated: Fri, 14 Aug 2009
 
add a note add a note User Contributed Notes
mysqli::__construct
Anonymous
14-Sep-2009 12:37
If you get an error like
  Can't connect to MySQL server on 'localhost' (10061)
and you use named pipes/socket connections (or aren't sure how you installed the MySQL server) try the following connect command:

<?php
mysqli_connect
('.', $user_name, $password, $database_name, null, 'mysql');
?>

The '.' as hostname is absolutely necessary when using named pipes. 'localhost' won't work. 'mysql' is the standard name for the pipe/socket.
Slavyansk2.ru
26-Sep-2008 05:14
If you have error like "Trying to clone an uncloneable object of class..." when trying connect, add record

php_value zend.ze1_compatibility_mode 0

in your .htaccess file. This resolve connection problem.
chip1977 at mail dot ru
28-Jan-2008 12:52
To specify charset in my.cnf file you just have to add
skip-character-set-client-handshake directive after
[mysqld]
default-character-set=utf8

mysqli::debug> <mysqli->connect_error
Last updated: Fri, 14 Aug 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites