Bu dersimizde PHP ile PDO kullanarak veritabanına bağlanmayı öğreneceğiz.
PDO veritabanı bağlantısındaki parametreler veritabanına göre değişiklik göstermekle beraber genel olarak aşağıdaki gibi bir yapıdadır.
<?php
$baglanti = new PDO("verikaynagi", "kullaniciadi", "sifre", ayarlar);
?>
Yukarıdaki bağlantıda kullanılan parametrelerin deayları aşağıda.
verikaynagi: Veritabanı bilgileri.
kullaniciadi: Veritabanı kullanıcı adı.
sifre: Veritabanı şifre.
ayarlar: PDO ayarlarını dizi (array) olarak belirtir.
MySQL veritabanı bağlantısı için örnek bağlantı bilgileri:
<?php
$baglanti1 = new PDO("mysql:host=localhost;dbname=dbadi", "dbkullaniciadi", "dbsifre");
$baglanti2 = new PDO("mysql:host=localhost;port=3307;dbname=dbadi", "dbkullaniciadi", "dbsifre");
$baglanti3 = new PDO("mysql:unix_socket=/tmp/mysql.sock;dbname=dbadi", "dbkullaniciadi", "dbsifre");
?>
SQLite veritabanı bağlantısı için örnek bağlantı bilgileri:
<?php
// SQLite dosya türündeki veritabanı
$baglanti = new PDO("sqlite:vt_dosyasi.sq3");
// SQLite ram türündeki veritabanı
$baglanti = new PDO("sqlite::memory:");
?>
PostgreSQL veritabanı bağlantısı için örnek bağlantı bilgileri:
<?php
$baglanti = new PDO("pgsql:host=localhost;port=5432;dbname=dbadi;user=dbkullaniciadi;password=dbsifre;");
?>
SQL Server veritabanı bağlantısı için örnek bağlantı bilgileri:
<?php
$baglanti1 = new PDO("sqlsrv:Server=localhost;Database=dbadi", "dbkullaniciadi", "dbsifre");
$baglanti2 = new PDO("sqlsrv:Server=localhost,1521;Database=dbadi", "dbkullaniciadi", "dbsifre");
$baglanti3 = new PDO("sqlsrv:Server=12345abcde.database.windows.net;Database=dbadi", "dbkullaniciadi", "dbsifre");
?>
Oracle veritabanı bağlantısı için örnek bağlantı bilgileri:
<?php
$baglanti1 = new PDO("oci:dbname=dbadi");
$baglanti2 = new PDO("oci:dbname=//localhost:1521/dbadi");
?>
Türkçe karakter sorunu ile karşılaşıldığında PDO karakter seti belirleme yapabilirsiniz. Veritabanı bağlantı parametresine charset seçeneğini de ekleyebilir veya PDO sınıfına ait exec metodu ile karakter tanımlaması yapabilirsiniz.
<?php
$baglanti = new PDO("mysql:host=localhost;dbname=dbadi;charset=utf8", "dbkullaniciadi", "dbsifre");
$baglanti->exec("SET NAMES utf8");
?>