Einführung - Connect -- Datenverbindung aufbauen und beenden
Beschreibung
Um sich mit der Datenbank zu verbinden, benutzen Sie die
Methode
connect(). Diese benötigt einen gültigen
DSN als
ersten Parameter. Der Parameter kann als String oder
als Array übergeben werden. Wenn Sie einen Array benutzen, dann
werden für fehlende Einträge diese vordefinierten Werte benutzt:
$dsn = array(
'phptype' => false,
'dbsyntax' => false,
'username' => false,
'password' => false,
'protocol' => false,
'hostspec' => false,
'port' => false,
'socket' => false,
'database' => false,
); |
Jedes im Array übergebene Element überschreibt die Standardeinstellung.
Der zweite Parameter ist das optionale $options-Array.
Es nimmt Konfigurationseinstellungen auf, die zur Laufzeit relevant sind.
Mehr Informationen und mögliche Einstellungen dazu finden Sie bei der Methode
setOption().
Ist die Verbindung erfolgreich aufgebaut, erhalten Sie von
der Methode connect() ein
Objekt für den Datenbankzugriff. Sie sollten unbedingt, den
zurückgelieferten Wert der Methode mit
isError() darauf prüfen, dass er kein
Fehlerobjekt enthält.
Um die Verbindung zu trennen, rufen Sie die Methode
disconnect() auf, die in der
Klasse für den Datenbankzugriff bereitgestellt wird.
Beispiel 34-1. Verbinden und Trennen <?php
require_once 'DB.php';
$dsn = 'pgsql://someuser:apasswd@localhost/thedb';
$options = array(
'debug' => 2,
'portability' => DB_PORTABILITY_ALL,
);
$db =& DB::connect($dsn, $options);
if (PEAR::isError($db)) {
die($db->getMessage());
}
// ...
$db->disconnect();
?> |
|
Beispiel 34-2. Verbinden unter Verwendung eines Arrays für den DSN <?php
require_once 'DB.php';
$dsn = array(
'phptype' => 'pgsql',
'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());
}
?> |
Wenn Sie eine Verbindung zu SQLite aufbauen wollen und ein DSN-Array
benutzen, dann muss der Wert für den mode-Eintrag
eine Zeichenkette sein:
<?php
$dsn = array(
'phptype' => 'sqlite',
'database' => 'thedb',
'mode' => '0644',
);
?> |
|
Beispiel 34-3.
Verbinden zu MySQLi über SSL unter
Verwendung eines DSN-Arrays
Der ssl-Eintrag im Array
$options muss auf
TRUE gesetzt werden, damit SSL benutzt wird.
Die besonderen Einträge im $dsn-Array
sind optional (key bis cipher im folgenden Beispiel):
<?php
require_once 'DB.php';
$dsn = array(
'phptype' => 'mysqli',
'username' => 'someuser',
'password' => 'apasswd',
'hostspec' => 'localhost',
'database' => 'thedb',
'key' => 'client-key.pem',
'cert' => 'client-cert.pem',
'ca' => 'cacert.pem',
'capath' => '/path/to/ca/dir',
'cipher' => 'AES',
);
$options = array(
'ssl' => true,
);
$db =& DB::connect($dsn, $options);
if (PEAR::isError($db)) {
die($db->getMessage());
}
?> |
|
Beispiel 34-4. Verbindung zu PostgreSQL über eine 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());
}
?> |
|