PHP ile MySQL Veritabanı Bağlantısı (PDO)
Modern web uygulamalarında veritabanı bağlantısı için en güvenli ve esnek yöntem PDO (PHP Data Objects) kullanmaktır. PDO, farklı veritabanı türleri için ortak bir arayüz sunar ve SQL enjeksiyon saldırılarına karşı doğal bir koruma sağlar.
Veritabanı Bağlantı Mantığı
Bir veritabanı bağlantısı kurmak için dört temel bilgiye ihtiyacınız vardır: Sunucu adı (Host), Veritabanı adı (DB Name), Kullanıcı adı ve Şifre.
Bu bilgiler genellikle try-catch blokları içinde kullanılır.
Kod Örneği: Güvenli PDO Bağlantısı
<?php
$host = "localhost";
$dbname = "kodornekleri_db";
$user = "root";
$pass = "123456";
try {
// PDO Nesnesi Oluşturma
$db = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
// Hata Modunu Ayarlama
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Veritabanı bağlantısı başarıyla kuruldu!";
}
catch (PDOException $e) {
// Bağlantı hatası durumunda mesajı göster
echo "Bağlantı Hatası: " . $e->getMessage();
}
?>
⚠️ Güvenlik İpucu: Veritabanı bilgilerinizi her sayfanın başında tanımlamak yerine,
conn.php gibi ayrı bir dosyada tutup require_once ile çağırmak kod yönetimi ve güvenlik açısından en iyi uygulamadır.
Neden MySQLi Yerine PDO Kullanmalısınız?
- Esneklik: Yarın veritabanınızı PostgreSQL veya SQLite'a taşımak isterseniz kodunuzu değiştirmek çok daha kolay olur.
- Güvenlik: Hazırlanmış ifadeler (Prepared Statements) ile SQL Injection riskini minimize eder.
- Hata Yönetimi: Exception yapısı sayesinde hataları daha profesyonelce yakalayıp loglayabilirsiniz.