Neden Veritabanı Bağlantısı Önemli?
PHP'nin gücü, MySQL gibi veritabanlarıyla konuşabilmesinden gelir. Kullanıcı kaydı, ürün listesi, sipariş takibi — tüm bunlar veritabanı bağlantısı gerektirir.
PDO vs MySQLi
- PDO (PHP Data Objects): Birden fazla veritabanı destekler (MySQL, PostgreSQL, SQLite). Prepared statement desteği mükemmeldir. Önerilir.
- MySQLi: Yalnızca MySQL. Prosedürel ve OOP kullanım mümkün.
PDO ile Bağlantı
try {
$baglan = new PDO(
"mysql:host=localhost;dbname=veritabani;charset=utf8mb4",
"kullanici",
"sifre"
);
$baglan->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Bağlantı hatası: " . $e->getMessage());
}Güvenli Sorgu — Prepared Statement
$stmt = $baglan->prepare("SELECT * FROM kullanicilar WHERE email = ?");
$stmt->execute([$email]);
$kullanici = $stmt->fetch(PDO::FETCH_ASSOC);SQL Injection'dan Korunma
Asla kullanıcıdan gelen veriyi doğrudan SQL sorgusuna eklemeyin. Prepared statement kullandığınızda PHP otomatik olarak veriyi güvenli hale getirir.