PHP
PDO nedir?
PDO'nun (PHP Data Objects) ne olduğunu ve neden kullanıldığını öğrenirsin.
PDO nedir?
PDO (PHP Data Objects), PHP'de veritabanına erişmek için kullanılan nesne yönelimli ve tekdüze bir arayüzdür. Aynı PHP kodu farklı veritabanlarıyla çalışır: MySQL, SQLite, PostgreSQL ve daha fazlası.
PDO sürücü (driver) tabanlıdır; her veritabanı için ayrı bir sürücü yüklenir ama çağrı arayüzü aynı kalır. mysqli yalnızca MySQL ile çalışırken PDO birçok veritabanını destekler.
PDO, hataları PDOException olarak fırlatır; böylece try/catch ile yakalanabilirler.
PDO sürücüleri ve DSN
PDO'da bağlantı, bir DSN (Data Source Name) dizesiyle kurulur. DSN'in başında sürücü adı yer alır: mysql:host=localhost;dbname=test, sqlite::memory: veya pgsql:host=localhost;dbname=test.
Sürücü adı değişince gerisi çoğu zaman aynı kalır; PHP tarafındaki kod değişmez. Yine de SQL lehçeleri farklı olabilir; PDO SQL'i çevirmez.
Bu derste örnekleri kısa tutmak için bellek içi SQLite (sqlite::memory:) kullanacağız; kurulum gerektirmez ve hızlıdır.
Uygulama Bellek içi SQLite'a bağlan
Bellek içi SQLite'a PDO ile bağlan: new PDO('sqlite::memory:'). Bağlantı nesnesinin sınıf adını get_class() ile yazdır.
Örnek çözümü göster
:memory:'); yaz. echo get_class($pdo) . "\n"; ile sınıf adını yazdır.
Örnek çözüm:
<?php
// PDO ile bellek içi SQLite'a bağlan ve sınıf adını yazdır
$pdo = new PDO('sqlite::memory:');
echo get_class($pdo) . "\n";
Kendini test et
-
Hangi PHP eklentisi birden çok veritabanıyla (MySQL, SQLite, PostgreSQL) tekdüze arayüzle çalışır?
- mysqli
- PDO
- mysql_fetch_array
- preg_match
Cevabı göster
PDO — Doğru. PDO birçok veritabanını tekdüze arayüzle destekler; sürücüler aracılığıyla farklı veritabanlarına bağlanır.
-
PDO sürücüsünü tamamla
<?php
// PDO desteklenen sürücüler
$drivers = ['mysql', '____', 'pgsql'];
foreach ($drivers as $driver) {
echo $driver . "\n";
}
?>
Cevabı göster
<?php
// PDO desteklenen sürücüler
$drivers = ['mysql', 'sqlite', 'pgsql'];
foreach ($drivers as $driver) {
echo $driver . "\n";
}
?>
-
PDO kavramlarını eşleştir
- DSN
- Bağlantı dizesi
- sürücü
- Veritabanı adı ön eki
- PDOException
- Hata istisnası
- mysqli
- Yalnız MySQL ile çalışır
Sıradaki ders: PDO ile bağlantı kurma