Introduction - Connexion -- Se connecter et se déconnecter d'une base de données
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 34-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)) {
/*
* Ce n'est peut-être pas ce que vous aurez envie de
* faire dans votre programme. Nous le mettons ici juste
* pour vous montrer comment utiliser l'objet erreur.
*/
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 34-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());
}
?> |
|