Prepare Ile Güvenli Şekilde Veritabanından Veri Çekme Örneği Yapalım - 2

fikretyn 

Moderatör
moderatör rank
Katılım
12 Mar 2024
Konular
37
Mesajlar
47
Tepkime puanı
22
Çevrimiçi zaman
13 saat 13 dakika
Konum
samsun
Ticaret
0 / 0 / 0

1. Bağlantı Oluşturma:​

PDO ile bir veritabanına bağlanmak için PDO sınıfını kullanırız. Bağlantı bilgileri olarak sunucu adı, veritabanı adı, kullanıcı adı ve şifre gerekir.
Kod:
<?php
$servername = "localhost";
$username = "kullanici_adi";
$password = "sifre";
$database = "veritabani_adi";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Veritabanına başarıyla bağlandı!";
} catch(PDOException $e) {
    echo "Bağlantı hatası: " . $e->getMessage();
}
?>

2. Hazırlanmış İfadeler (Prepared Statements):​

PDO, hazırlanmış ifadeler kullanarak SQL enjeksiyonlarına karşı koruma sağlar.
Kod:
$stmt = $conn->prepare("SELECT * FROM tablo WHERE sutun = :deger");
$stmt->bindParam(':deger', $degisken_deger);
$stmt->execute();
$sonuclar = $stmt->fetchAll();

3. Sorgu Çalıştırma ve Sonuçları İşleme:​

Kod:
$stmt = $conn->query("SELECT * FROM tablo");
$sonuclar = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($sonuclar as $row) {
    echo "ID: " . $row['id'] . ", İsim: " . $row['isim'] . "<br>";
}

4. Hata İşleme:​

PDO, hata işleme için esnek bir yapı sunar. Örneğin:
Kod:
try {
    // PDO işlemleri
} catch(PDOException $e) {
    echo "Hata: " . $e->getMessage();
}

5. Transaksiyonlar:​

Kod:
$conn->beginTransaction();
try {
    // Birden fazla SQL sorgusu
    $conn->commit();
} catch (PDOException $e) {
    $conn->rollback();
    echo "Hata: " . $e->getMessage();
}
PDO'nun bu özellikleri, veritabanı işlemlerini daha güvenli ve etkili hale getirir. Ayrıca, farklı veritabanı sistemleri arasında geçiş yapmayı kolaylaştırır ve kodunuzu daha taşınabilir hale getirir.
 
Ana Sayfa Kayıt Ol Giriş Yap
Üst