- Katılım
- 20 Eylül 2026
- Mesajlar
- 214
- Tepkime puanı
- 17
- Puan
- 18
PHP'de PDO Kullanımı ve Güvenli Veritabanı Sorguları
PHP ile veritabanı işlemleri yaparken PDO, hem kullanımı kolay hem de güvenli bir seçenek olarak karşımıza çıkıyor. Özellikle kullanıcıdan alınan verilerle SQL sorguları çalıştırırken prepared statement kullanmak önemli.
Öncelikle PDO ile veritabanına bir bağlantı oluşturalım:
PHP:
<?php
$host = "localhost";
$dbname = "site_db";
$username = "root";
$password = "";
try {
$db = new PDO(
"mysql:host=$host;dbname=$dbname;charset=utf8mb4",
$username,
$password
);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Veritabanı bağlantısı başarılı.";
} catch (PDOException $e) {
echo "Bağlantı başarısız.";
}
?>
Bağlantıdan sonra SQL sorgularında doğrudan kullanıcı verisini sorgunun içine yazmak yerine "prepare()" ve "execute()" kullanabiliriz.
Örneğin kullanıcı adına göre kayıt aramak için:
PHP:
$sql = "SELECT * FROM users WHERE username = :username";
$stmt = $db->prepare($sql);
$stmt->execute([
'username' => $username
]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
Buradaki ":username" bir parametre olarak kullanılıyor. Böylece kullanıcıdan gelen değer doğrudan SQL sorgusunun içerisine eklenmemiş oluyor.
Yeni bir kayıt eklerken de aynı yöntem kullanılabilir:
PHP:
$sql = "INSERT INTO users (username, email)
VALUES (:username, :email)";
$stmt = $db->prepare($sql);
$stmt->execute([
'username' => $username,
'email' => $email
]);
PDO kullanırken prepared statement yöntemine alışmak, özellikle kullanıcı girişleri bulunan projelerde oldukça faydalıdır. Kodun daha düzenli olmasının yanında SQL Injection gibi problemlere karşı da önemli bir güvenlik katmanı sağlar.
Kısacası PHP ile MySQL kullanıyorsanız PDO + prepared statement ikilisi, projelerde tercih edilebilecek sağlam yöntemlerden biridir.