Php Pdo Update İşlemi - Akın Boztepe Blog

Bir veritabanı kaydını güncellerken en kritik nokta, hangi kaydın değiştirileceğini belirleyen WHERE koşuludur. PDO ile bu işlemi yaparken verileri doğrudan sorgunun içine yazmak yerine, dışarıdan gelen müdahaleleri engellemek için parametreleme yöntemini kullanırız.

Temel Güncelleme Yapısı

Aşağıdaki örnekte, bir kullanicilar tablosundaki verinin nasıl güncelleneceği adım adım gösterilmiştir:

PHP

 

<?php
// Veritabanı bağlantı dosyanızı dahil edin
require_once 'db_baglanti.php';

try {
    // 1. SQL Sorgusunu hazırlayın (Parametreler için :isaretleyici kullanın)
    $sql = "UPDATE kullanicilar SET ad = :yeni_ad, eposta = :yeni_eposta WHERE id = :id";
    $sorgu = $pdo->prepare($sql);

    // 2. Güncellenecek veriler
    $ad = "Ahmet Yılmaz";
    $eposta = "ahmet@ornek.com";
    $id = 5;

    // 3. Verileri bağlayın ve sorguyu çalıştırın
    $sonuc = $sorgu->execute([
        'yeni_ad' => $ad,
        'yeni_eposta' => $eposta,
        'id' => $id
    ]);

    // 4. İşlem kontrolü
    if ($sonuc) {
        //rowCount() etkilenen satır sayısını döndürür
        echo $sorgu->rowCount() . " kayıt başarıyla güncellendi.";
    }

} catch (PDOException $e) {
    die("Hata oluştu: " . $e->getMessage());
}
?>

Dikkat Edilmesi Gereken Kritik Noktalar

1. SQL Injection Koruması

Yukarıdaki örnekte göreceğiniz :id veya :yeni_ad gibi ifadeler birer yer tutucudur. Kullanıcıdan gelen veriler doğrudan SQL cümlesine eklenmez; bunun yerine execute() metodu ile güvenli bir şekilde iletilir. Bu, web uygulamalarındaki en büyük açık olan SQL Injection'ı engeller.

2. rowCount() Metodu

Bir UPDATE sorgusu çalıştırıldığında, sorgu teknik olarak başarılı olsa bile hiçbir satır değişmemiş olabilir (örneğin id bulunamadıysa veya yeni veri eski veriyle aynıysa). rowCount() metodu, veritabanında gerçekten kaç satırın içeriğinin değiştiğini size söyler.

3. Esnek Parametre Bağlama (bindParam)

Eğer verileri bir dizi içinde göndermek yerine daha spesifik veri tipleriyle (integer, string vb.) bağlamak isterseniz bindParam kullanabilirsiniz:

PHP

 

$sorgu->bindParam(':id', $id, PDO::PARAM_INT);
$sorgu->bindParam(':yeni_ad', $ad, PDO::PARAM_STR);
$sorgu->execute();

Özet Akış Şeması

  1. Prepare: Sorgu taslağını veritabanına gönderin.

  2. Bind: Değişkenleri bu taslakla eşleştirin.

  3. Execute: Sorguyu güvenli bir şekilde çalıştırın.

  4. Check: Kaç satırın güncellendiğini doğrulayın.

PDO ile güncelleme işlemi, verilerinizin bütünlüğünü korurken kodunuzun okunabilirliğini ve taşınabilirliğini artırır.

Benzer İçerikler :


İstatistikler

Yazar : admin

Kategori : Php Dersleri

Görüntülenme : 48

Tarih : 14 March 2026 - 05:47

Duyuru

Sitemiz 17.03.2026 tarihinde Bakım Çalışması Yapılacaktır.

Reklam

Kategoriler