Wstęp - nawiązanie połączenia

Wstęp - nawiązanie połączenia – łączenie i rozłączanie z baza danych

Description

W celu nawiązania połączenia z bazą danych możesz użyć funkcji connect(), która wymaga prawidłowego DSN jako pierwszego parametru wywołania. Parametr ten może być łańcuchem tekstowym lub tablicą. Jeżeli użyjesz tablicy, zostanie ona połączona z tablicą zawierającą domyślne informacje:

$dsn = array(
    'phptype'  => false,
    'dbsyntax' => false,
    'username' => false,
    'password' => false,
    'protocol' => false,
    'hostspec' => false,
    'port'     => false,
    'socket'   => false,
    'database' => false,
);

Jeżeli ustawisz którykolwiek z elementów nadpiszesz domyślną wartość a pozostałe elementy zachowają domyślne wartości.

Drugi parametr, $options, jest opcjonalną tablicą która może zawierać dodatkowe ustawienia konfiguracyjne tego pakietu. Zobacz setOption() aby uzyskać więcej informacji na ten temat.

W przypadku powodzenia otrzymasz nową instancję klasy bazy danych. Zalecane jest sprawdzenie wyniku metody przy pomocy isError().

Aby rozłączyć się z bazą użyj metody disconnect() z instancji klasy bazy danych.

Połączenie i rozłączenie

<?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();
?>

Połączenie z bazą używając tablicy jako informacji 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());
}
?>

Gdy łączysz się do SQLite używając tablicy DSN, wartość elementu mode musi być łańcuchem tekstowym:

<?php
$dsn 
= array(
    
'phptype'  => 'sqlite',
    
'database' => 'thedb',
    
'mode'     => '0644',
);
?>

Połączenie z MySQLi poprzez SSL używając tablicy informacji DSN

Element ssl tablicy $options musi być ustawiony na TRUE aby SSL działało. Każdy z dodatkowych elementów tablicy $dsn (od key do cipher w poniższym przykładzie) jest opcjonalny.

<?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());
}
?>

Połączenie z bazą PostgreSQL poprzez gniazdo

<?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());
}
?>