PHP ile bir MySQL veritabanındaki tablolardan 3 farklı yöntemle veri güncelleme işlemi yapabiliriz.
MySQL'de bir tablodaki verileri güncellemek için UPDATE komutu kullanılır. MySQL ile bir tablodaki verileri güncellemek için aşağıdaki komut yapısını kullanabilirsiniz:
UPDATE tablo_adi SET sütun1=değer, sütun2=değer, ... WHERE sütun_adı=değer
UPDATE komutu ile birlikte WHERE tanımlaması yapmadığınız takdirde, tabloda yer alan bütün kayıtlar güncellenir:
UPDATE tablo_adi SET sütun1=değer, sütun2=değer, ...
Buradaki örneklerimizde, daha önce oluşturduğumuz personel adlı tablodaki kayıtlara güncelleme işlemi yapmaya çalışacağız:
1. MySQLi Nesneye Dayalı yöntem ile
<?php $sunucu = "localhost"; $kullanici = "kullanıcıadı"; $parola = "parola"; $veritabani = "veritabaniadi"; // Bağlantı oluşturma $bag = new mysqli($sunucu, $kullanici, $parola, $veritabani); // Bağlantı kontrolü if ($bag->connect_error) { die("Bağlantı hatası: " . $bag->connect_error); } // Kayıt silmek için MySQL komutu $sqlquery = "UPDATE personel SET adi='Mehmet' WHERE id=1"; if ($bag->query($sqlquery) === TRUE) { echo "Kayıt güncelleme işlemi tamamlandı!"; } else { echo "Kayıt güncelleme hatası: " . $bag->error; } $bag->close(); ?>
Yukarıdaki örnekteki kodlar, veritabanına bağlandıktan sonra, $sqlquery değişkenine kayıt güncellemek için gerekli olan MySQL komut dizisini atar. $sqlquery değişkenini $bag->query() fonksiyonuna parametre olarak geçirip, fonksiyonu çağırarak personel tablosu içinde bulunan ve id sütun değeri 1 olan kaydın adı sütununa 'Mehmet' değerini atar. Hata meydana gelirse, $bag->error değişkeni ile ekrana yazar. $bag->close() fonksiyonu ile bağlantı kapatılır.
2. MySQLi fonksiyonel yöntem ile
<?php $sunucu = "localhost"; $kullanici = "kullanıcıadı"; $parola = "parola"; $veritabani = "veritabaniadi"; // Bağlantı oluşturma $bag = mysqli_connect($sunucu, $kullanici, $parola, $veritabani); // Bağlantı kontrolü if (!$bag) { die("Bağlantı hatası: " . mysqli_connect_error()); } // Kayıt silmek için MySQL komutu $sqlquery = "UPDATE personel SET adi='Mehmet' WHERE id=1"; if (mysqli_query($bag, $sqlquery)) { echo "Kayıt güncelleme işlemi tamamlandı!"; } else { echo "Kayıt güncelleme hatası: " . mysqli_error($bag); } mysqli_close($bag); ?>
Yukarıdaki örnekteki kodlar, bir önceki örnekte nesneye dayalı yöntemle yapılan kayıt güncelleme işlemini fonksiyonel yöntemle gerçekleştirir.
3. PDO yöntemi ile
<?php $sunucu = "localhost"; $kullanici = "kullanıcıadı"; $parola = "parola"; $veritabani = "veritabaniadi"; try { $bag = new PDO("mysql:host=$sunucu;dbname=$veritabani", $kullanici, $parola); // PDO hata modunu istisnaya ayarlama $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // MySQL tablo oluşturma komutu $sqlquery = "UPDATE personel SET adi='Mehmet' WHERE id=1"; $bag->exec($sqlquery); echo "Kayıt güncelleme işlemi tamamlandı!"; } catch(PDOException $e) { echo "Hata: " . $e->getMessage(); } $bag = null; ?>
Yukarıdaki örnekteki kodlar, bir önceki örnekte fonksiyonel yöntemle yapılan kayıt güncelleme işlemini PDO yöntemi ile gerçekleştirir.