PHP PDO Veri Güncelleme

PDO ile veritabanı tablosundan veri güncelleme, değiştirme veya düzenleme ile ilgili bilgiler yer almaktadır.

PHP PDO Veri Güncelleme

PDO ile veri güncelleme işlemi UPDATE SQL komutu ile yapılır.

UPDATE tablo_adi SET sutun1 = yeni_deger, sutun2 = yeni_deger WHERE sutun_adi = guncellenecek_deger 

NOT: Veri güncelleme işleminde WHERE kullanılmazsa tablodaki tüm veriler güncellenir.

Veri güncelleme işlemi için öncelikle gerekli veritabanı bağlantısını PDO ile yapalım.

<?php

try {

    $baglanti = new PDO("mysql:host=localhost;dbname=kisi", "root", "");
    $baglanti->exec("SET NAMES utf8");
    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    echo "Veri güncelleme işlemi";

} catch (PDOException $e) {
    die($e->getMessage());
}

$baglanti = null;

?>

Veri güncelleme işlemi için exec, query veya prepare metodunu kullanabiliriz.

Dışarıdan değer almayan veri güncelleme işlemi için exec veya query metodunu kullanabiliriz.

<?php

try {
    $baglanti = new PDO("mysql:host=localhost;dbname=kisi", "root", "");
    $baglanti->exec("SET NAMES utf8");
    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sonuc = $baglanti->exec("UPDATE kisiler SET kisi_adi = 'Yusuf Sefa', kisi_soyadi = 'SEZER' WHERE kisi_sira = 4");

    if ($sonuc > 0) {
        echo $sonuc . " kayıt güncellendi.";
    } else {
        echo "Herhangi bir kayıt güncellenemedi.";
    }

} catch (PDOException $e) {
    die($e->getMessage());
}

$baglanti = null;

?>

veya

<?php

try {
    $baglanti = new PDO("mysql:host=localhost;dbname=kisi", "root", "");
    $baglanti->exec("SET NAMES utf8");
    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sorgu = $baglanti->query("UPDATE kisiler SET kisi_adi = 'Yusuf Sefa', kisi_soyadi = 'SEZER' WHERE kisi_sira = 4");

    if ($sorgu->rowCount() > 0) {
        echo $sorgu->rowCount() . " kayıt güncellendi.";
    } else {
        echo "Herhangi bir kayıt güncellenemedi.";
    }

} catch (PDOException $e) {
    die($e->getMessage());
}

$baglanti = null;

?>

Veri güncelleme işlemi sonucunda PDOStatement($sorgu) sınıfındaki rowCount metodu güncellenen kayıt sayısını verir.

Veri güncelleme işlemine dışarıdan değer alarak koşullu veri güncelleme gibi bir işlem yapılacaksa prepare metodunun kullanılması faydalı olacaktır.

<?php

$sira = 1;
$adi = "Yusuf Sefa";
$soyadi = "SEZER";

try {
    $baglanti = new PDO("mysql:host=localhost;dbname=kisi", "root", "");
    $baglanti->exec("SET NAMES utf8");
    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sorgu = $baglanti->prepare("UPDATE kisiler SET kisi_adi = ?, kisi_soyadi = ? WHERE kisi_sira = ?");
    $sorgu->bindParam(1, $adi, PDO::PARAM_STR);
    $sorgu->bindParam(2, $soyadi, PDO::PARAM_STR);
    $sorgu->bindParam(3, $sira, PDO::PARAM_INT);
    $sorgu->execute();

    if ($sorgu->rowCount() > 0) {
        echo $sorgu->rowCount() . " kayıt güncellendi.";
    } else {
        echo "Herhangi bir kayıt güncellenemedi.";
    }

} catch (PDOException $e) {
    die($e->getMessage());
}

$baglanti = null;

?>

Ön hazırlı sorgunun çalıştırılması sonucunda PDOStatement($sorgu) sınıfındaki rowCount metodu güncellenen kayıt sayısını verir.

Güncellenen kayıt sayısını belirten rowCount metodu kullanılarak veri güncelleme işlemi kontrol edilebilir.

Tepkiniz Nedir?

like
1
dislike
0
love
0
funny
0
angry
0
sad
0
wow
0