(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::__construct — Bir veritabanı bağlantısını temsil eden bir PDO nesnesi oluşturur
$dsn
,$kullanıcı
= null
,$parola
= null
,$seçenekler
= null
Belirtilen veritabanına kurulan bağlantıyı temsil eden bir PDO nesnesi oluşturur.
dsn
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
bağımsız değişkeni, bir veritabanı bağlantısı oluşturmak için gereken üç farklı yöntemi destekler:
dsn
bağımsız değişkeni, veri kaynağı ismi için gereken herşeyi içerir.
dsn
bağımsız değişkeni, 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
bağımsız değişkeni, 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.
kullanıcı
DSN dizgesi için kullanıcı ismi. Bu bağımsız değişkenin belirtilmesi bazı PDO sürücüleri için isteğe bağlıdır.
parola
DSN dizgesi için parola. Bu bağımsız değişkenin belirtilmesi bazı PDO sürücüleri için isteğe bağlıdır.
seçenekler
Sürücüye özgü bağlantı seçeneklerini içeren bir isim=>değer çiftleri dizisi.
PDO::__construct(), istenen veritabanına bağlantı sağlanamazsa, o an hangi PDO::ATTR_ERRMODE
geçerli bakmaksızın, bir PDOException yavrulanır.
Örnek 1 - Sürücü isteğiyle PDO örneğinin oluşturulması
<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
$dbh = new PDO($dsn, $user, $password);
?>
Ö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
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';
$dbh = new PDO($dsn, $user, $password);
?>
Ö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
$dsn = 'mydb';
$user = '';
$password = '';
$dbh = new PDO($dsn, $user, $password);
?>