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.

UPDATE tablo_adi SET column1 = değer_1, column2 = Değer_2, ... WHERE condition;
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!

GÜNCELLEME Tablosu


Aşağıdaki SQL ifadesi Beşinci öğrenci (Öğrenci No = 5) yeni bir öğrenci ismi ile günceller.

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:

UPDATE Musteri SET Kisi='Hasan' WHERE Ulke='Türkiye';

Güncelleme Uyarısı!


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.


<?php

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.

Tablodaki 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.


<?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.

Hazırlanan ifadeleri kullanmak, SQL enjeksiyonlarına karşı korumayı artırır.

<?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();
}

?>

Lütfen konu haricinde soru sormayın cevaplanmayacaktır. Yorumunuz onaylandıktan sonra yayınlanacaktır. Lütfen Yukarıda ki mesajları okuyun tekrar aynı soruları sormayın.

8807

KATEGORİ
  • HTML
  • CSS
  • PHP
  • JQUERY
  • PHOTOSHOP
  • JavaScript
  • Web Dünyası
  • Linux
  • MİTHRİL FRAMEWORK
  • Laravel
  • Git
  • React
POPÜLER MAKALE
  • HTML LİNK(Bağlantı)EKLEME - LİNK VERME
  • HTML YAZI VE RESİM ORTALAMA
  • HTML RESME LİNK VERME
  • HTML FORM OLUŞTURMA
  • CSS YATAY MENÜ YAPIMI
  • HTML RESİM EKLEME
  • CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
  • HTML DİV ve SPAN NEDİR?
  • HTML ARKAPLANA MÜZİK EKLEME
  • KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME
ETİKET
WEBCEBİR © 2013 Tüm hakları saklıdır.