PHP PDO Veri Güncelleme Nasıl Yapılır

[TBR=https://forum.mevsim.org/images/images/2021/02/06/php47.png]PHP PDO Veri[/TBR]

PHP PDO Veri Güncelleme​


PDO ile veri çekme işlemi için öncelikle PHP PDO Veritabanı Bağlantısı ile bağlantı yapılıp uygun SQL komutunun yazılması yeterli olacaktır.
PDO ile veri güncelleme işlemi UPDATE SQL komutu ile yapılır.
SQL UPDATE deyimi, bir tablodaki mevcut kayıtları değiştirmek için kullanılır.
PHP:
UPDATE tablo_adi SET column1 = değer_1, column2 = Değer_2, ... WHERE condition;
[ALERT]Not Bir tablodaki kayıtları güncellerken dikkatli olun! UPDATE ifadesindeki WHERE yan tümcesine dikkat edin. WHERE yan tümcesi hangi kayıtların güncellenmesi gerektiğini belirtir. WHERE yan tümcesini atlarsanız, tablodaki tüm kayıtlar güncellenecektir![/ALERT]

Güncelleme Tablosu


Aşağıdaki SQL ifadesi Beşinci öğrenci (Öğrenci No = 5) yeni bir öğrenci ismi ile günceller.
PHP:
UPDATE okul SET sınıf = '9b', adi= 'Ahmet' WHERE id = 5;

Birden Fazla Kaydı Güncelle


Kaç kaydın güncelleneceğini belirleyen WHERE yan tümcesidir.
Aşağıdaki SQL ifadesi, ülkenin "Türkiye" olduğu tüm kayıtlar için kişi adını "Hasan" olarak güncelleyecektir.
PHP:
UPDATE Musteri SET Kisi='Hasan' WHERE Ulke='Türkiye';

Güncelleme Uyarısı!


[ALERT]Kayıtları güncellerken dikkatli olun. WHERE yan tümcesini atlarsanız, TÜM kayıtlar güncellenecektir!
Veri Güncelleme işlemi için öncelikle gerekli veritabanı bağlantısını PDO ile yapalım.[/ALERT]
Kod:
try {
$dsn = "mysql:host=localhost;dbname=test;charset=utf8mb4";
$user = "root";
$passwd = "";
$pdo = new PDO($dsn, $user, $passwd);
$db-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_WARNING);
//pdo bağlantı altına bu kodu SQL hatalarını görmek için ekleyin
ecvo "Veri Güncelleme işlemi";
} catch ( PDOException $e ){
echo "Bir Hata Oluştu: ".$e->getMessage();
}
?>
Veri güncelleme işlemi için exec() ve prepare() methodunu kullanabiliriz.
ablodaki satırları değiştiren ancak satır ve sütunlarla sonuç kümesi döndürmeyen sorgular (INSERT UPDATE ve DELETE), exec() methodu ile gönderilir, bu method, etkilenen satırların sayısını veya hata durumunda "0" değerini döndürür.
Dışarıdan değer almayan veri güncelleme işlemi için exec() methodunu kullanabiliriz.
Kod:
<?php

try {
   $dsn = "mysql:host=localhost;dbname=test;charset=utf8mb4";
   $user = "root";
   $passwd = "";

   $pdo = new PDO($dsn, $user, $passwd);
   $pdo-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_WARNING);
   //pdo bağlantı altına bu kodu SQL hatalarını görmek için ekleyin

   $ekle =$pdo->exec("UPDATE test SET ad='Levent', is='Tornacı' WHERE id=2");

   if($ekle){
    echo "Güncelleme Başarılı";
    }else{
    echo "Malesef güncelleme yapılamadı.";
   }

   
} catch ( PDOException $e ){
     echo "Bir Hata Oluştu: ".$e->getMessage();
}

?>
Veri güncelleme işlemine dışarıdan değer alarak güncelleme gibi bir işlem yapılacaksa prepare() methodunun kullanılması faydalı olacaktır.
Hazırlanan bir ifade prepare(sql), önceden derlenmiş bir SQL ifadesidir. Bu, yer tutucularda kullanılan verilerin otomatik olarak SQL enjeksiyon saldırılarına karşı güvenli hale getirilmesi avantajına sahiptir.
[ALERT]Hazırlanan ifadeleri kullanmak, SQL enjeksiyonlarına karşı korumayı artırır.[/ALERT]
PHP:
<?php
$id = 5;

try {
   $dsn = "mysql:host=localhost;dbname=test;charset=utf8mb4";
   $user = "root";
   $passwd = "";

   $pdo = new PDO($dsn, $user, $passwd);
   $pdo-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_WARNING);
   //pdo bağlantı altına bu kodu SQL hatalarını görmek için ekleyin

  
   $query = $pdo->prepare("UPDATE test SET adi= ? WHERE id = ?");
   $update = $query->execute(array("Ahmet",$id));

   if($update){
    echo "Güncelleme Başarılı";
    }else{
    echo "Malesef güncelleme yapılamadı.";
   }

    
} catch ( PDOException $e ){
     echo "Bir Hata Oluştu: ".$e->getMessage();
}

?>
 
Üst
Alt