(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)
PDO::__construct — Bir veritabanı bağlantısını temsil eden bir PDO nesnesi oluşturur
$dsn
[, string $kullanıcı
[, string $parola
[, array $seçenekler
]]] )Belirtilen veritabanına kurulan bağlantıyı temsil eden bir PDO nesnesi oluşturur.
Veritabanına bağlantı için gerekli bilgiyi içeren veri kaynağının ismi.
Genellikle bir veri kaynağı ismi, aralarında bir noktalı virgül bulunan sürücü ismi ile PDO sürücüsüne özgü bağlantı sözdiziminden oluşur. Bu konuda daha ayrıntılı bilgiyi PDO Sürücüleri sayfasında bulabilirsiniz.
dsn
değiştirgesi, bir veritabanı bağlantısı oluşturmak için gereken üç farklı yöntemi destekler:
dsn
değiştirgesi, veri kaynağı ismi için
gereken herşeyi içerir.
dsn
değiştirgesi,
uri:
sözcüğünü takibeden, veri kaynağı isim
dizgesini içeren bir dosyanın yerini belirten bir özkaynak
betimleyicisi içerir.
uri:file:///bir/yol/dsndosyası
dsn
değiştirgesi, php.ini içinde DSN
dizgesini tanımlayan
pdo.dsn.
ile eşleşen
isim
isim
adını içerir.
Bilginize:
Takma ad, .htaccess veya httpd.conf dosyasında değil php.ini dosyasında tanımlanmış olmalıdır.
DSN dizgesi için kullanıcı ismi. Bu değiştirgenin belirtilmesi bazı PDO sürücüleri için isteğe bağlıdır.
DSN dizgesi için parola. Bu değiştirgenin belirtilmesi bazı PDO sürücüleri için isteğe bağlıdır.
Sürücüye özgü bağlantı seçeneklerini içeren bir isim=>değer çiftleri dizisi.
Başarı durumunda bir PDO nesnesi döner.
PDO::__construct(), istenen veritabanına bağlantı sağlanamazsa bir PDOException istisnası oluşturur.
Örnek 1 - Sürücü isteğiyle PDO örneğinin oluşturulması
<?php
/* Sürücü isteğiyle bir ODBC veritabanına bağlanalım */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Bağlantı kurulamadı: ' . $e->getMessage();
}
?>
Örnek 2 - URI isteğiyle PDO örneğinin oluşturulması
Aşağıdaki örnekte PHP'nin /usr/local/dbconnect dosyasını okuma iznine sahip olduğu varsayılmıştır. Dosya, PDO_ODBC sürücüsü üzerinden bir DB2 veritabanına bağlanmak için gereken şu bilgiyi içermektedir:
odbc:DSN=SAMPLE;UID=birey;PWD=parola
Bu dosyanın yerini içeren bir uri: dizgesi ile veritabanı bağlantısı oluşturulabilir:
<?php
/* URI isteğiyle bir ODBC veritabanına bağlanalım */
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Bağlantı kurulamadı: ' . $e->getMessage();
}
?>
Örnek 3 - Bir takma ad kullanarak PDO örneğinin oluşturulması
Aşağıdaki örnekte, php.ini dosyasının bir MySQL veritabanına bağlantı kurmak için mydb adını takma ad olarak kullamayı mümkün kılan şöyle bir girdi içerdiği varsayılmıştır:
[PDO] pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* Bir takma ad kullanarak bir ODBC veritabanına bağlanalım */
$dsn = 'mydb';
$user = '';
$password = '';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Bağlantı kurulamadı: ' . $e->getMessage();
}
?>