PDO::__construct -- Creează o instanţă PDO care reprezintă o conexiune la baza de date
Descriere
PDO PDO::__construct ( string dsn [, string username [, string password [, array driver_options]]] )
Creează o instanţă PDO pentru a reprezenta o conexiune a bazei de date cerută.
Parametri
dsn
Data Source Name, sau DSN, conţine informaţiile cerute pentru conectare la baza de date.
În general, DSN este compus din numele driverului PDO, urmat de o virgulă, urmat de sintaxa de conectare specifică driverului PDO. Detalii pe pagina drivere PDO.
Parametrul dsn suportă trei metode diferite de specificare a argumentelor cerute pentru crearea unei conexiuni la baza de date:
1. Invocare driver
dsn conţine întregul nume DSN.
2. Invocarea URI
dsn este compus din uri: urmat de URI care defineşte locaţia fişierului care conţine textul DSN. URI poate specifica un fişier local sau un URL remote.
uri:file:///path/to/dsnfile
3. Alias
dsn este compus din numele name care mapează la pdo.dsn.name în php.ini ce defineşte textul DSN.
Notă: Aliasul trebuie să fie definit în php.ini, şi nu în .htaccess sau httpd.conf
username
Numele utilizatorului pentru DSN. Acest parametru opţional pentru unele drivere PDO.
password
Parola pentru DSN. Acest parametru opţional pentru unele drivere PDO.
driver_options
O matrice key=>value a opţiunilor specifice de conectare pentru driver.
Valori întoarse
Întorc obiectul PDO în cazul realizării conexiunii.
Errors/Exceptions
PDO::construct() lansează excepţia PDOException dacă conexiunea la baza de date eşuează.
Exemple
Crearea unei instanţe PDO prin invocarea driverului
<?php
/* Conectare la o baza de date ODBC folosind invocarea driverului */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
Crearea unei instanţe PDO prin invocarea URI
Următorul exemplu presupune că există fişierul /usr/local/dbconnect cu atribute care permit ca PHP să îl citească. Fişierul conţine PDO DSN pentru conectare to la o bază de date DB2 prin driverul PDO_ODBC:
odbc:DSN=SAMPLE;UID=john;PWD=mypass
Programul PHP poate crea o conexiune la baza de date prin trecerea parametrului uri: şi indicarea fişierului URI:
<?php
/* Conectarea la o baza de date ODBC folosind invocarea driverului */
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Conexiune esuata: ' . $e->getMessage();
}
?>
Crearea unei instanţe PDO folosind un alias
Următorul exemplu presupune că fişierul php.ini conţine următoarea intrare pentru activarea unei conexiuni la o bază de date MySQL folosind doar un alias mydb:
[PDO]
pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* Conectare la o baza de date ODBC folosind un alias */
$dsn = 'mydb';
$user = '';
$password = '';
try {
$dbh = new PDO($dsn, $user, $password);
}catch (PDOException $e) {
echo 'Conexiune esuata: ' . $e->getMessage();
}
?>