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