Description
Pour vous connecter à une base de données, vous devez utiliser la fonction
DB::connect(), qui requière un DSN valide en tant que premier paramètre. Ce paramètre peut être soit une chaîne, soit un tableau. Si vous utilisez un taleau, celui-ci est mélangé avec les informations par défaut :
$dsn = array(
'phptype' => false,
'dbsyntax' => false,
'username' => false,
'password' => false,
'protocol' => false,
'hostspec' => false,
'port' => false,
'socket' => false,
'database' => false,
);
|
Toute valeur d'élément que vous définissez écrase la valeur par défaut. Celles que vous ne fournissez pas, restent inchangées.
Le second paramètre, est le tableau optionnel $options qui peut contenir des configurations à mettre en place en cours d'exécution pour ce package. Voyez
setOption() pour plus d'informations sur les choses que vous pouvez configurer de cette façon.
En cas de succès, vous obtiendrez une nouvelle instance de la classe de base de données. Il est fortement conseillé de vérifier la valeur de retour avec PEAR::isError().
Pour vous deconnecter, utilisez la méthode disconnect() de votre instance de classe de base de données.
Exemple 39-1. Connexion et déconnexion
- <?php
- require_once 'DB.php';
-
- $dsn = 'mysql://someuser:apasswd@localhost/thedb';
- $options = array(
- 'debug' => 2,
- 'portability' => DB_PORTABILITY_ALL,
- );
-
- $db =& DB::connect($dsn, $options);
- if (PEAR::isError($db)) {
-
-
- echo 'Message Standard : ' . $db->getMessage() . "\n";
- echo 'Message DBMS/Utilisateur : ' . $db->getUserInfo() . "\n";
- echo 'Message DBMS/Débogage : ' . $db->getDebugInfo() . "\n";
- exit;
- }
-
-
- $db->disconnect();
-
- ?>
|
Exemple 39-2. Connexion en utilisant un tableau pour les informations DSN
- <?php
- require_once 'DB.php';
-
- $dsn = array(
- 'phptype' => 'mysql',
- 'username' => 'someuser',
- 'password' => 'apasswd',
- 'hostspec' => 'localhost',
- 'database' => 'thedb',
- );
-
- $options = array(
- 'debug' => 2,
- 'portability' => DB_PORTABILITY_ALL,
- );
-
- $db =& DB::connect($dsn, $options);
- if (PEAR::isError($db)) {
- die($db->getMessage());
- }
-
- ?>
|
Exemple 39-3. Connexion à une base de données PostgreSQL via un socket
- <?php
- require_once 'DB.php';
-
- $dsn = 'pgsql://someuser:apasswd@unix(/tmp)/thedb';
- $options = array(
- 'debug' => 2,
- 'portability' => DB_PORTABILITY_ALL,
- );
-
- $db =& DB::connect($dsn, $options);
- if (PEAR::isError($db)) {
- die($db->getMessage());
- }
-
- ?>
|