MySQL ile veri güncelleme işlemi UPDATE SQL komutu ile yapılır.
Veri güncelleme işlemi için öncelikle gerekli MySQL bağlantısını yapalım.
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.
Güncellenen kayıt sayısını belirten affected_rows özelliği kullanılarak veri güncelleme işlemi kontrol edilebilir.
Veri güncelleme işlemindeki dikkat edilmesi gereken yer UPDATE SQL komutuna uygun WHERE koşulunun yazılmasıdır.
Herhangi bir WHERE koşulu belirtilmediğinde tablodaki veriler toplu/çoklu olarak güncellenecektir.
NOT: Veri güncelleme işleminde WHERE kullanılmazsa tablodaki tüm veriler güncellenir.UPDATE tablo_adi SET sutun1 = yeni_deger, sutun2 = yeni_deger WHERE sutun_adi = guncellenecek_deger
Veri güncelleme işlemi için öncelikle gerekli MySQL bağlantısını yapalım.
Veri güncelleme işlemi sonucunda mysqli sınıfındaki affected_rows özelliği güncellenen kayıt sayısını alır.<?php
$baglanti = new mysqli("localhost", "root", "", "kisi");
if ($baglanti->connect_errno > 0) {
die("<b>Bağlantı Hatası:</b> " . $baglanti->connect_error);
}
$baglanti->set_charset("utf8");
echo "Veri güncelleme işlemi";
$baglanti->close();
?>
Veri güncelleme işlemi için query veya prepare metodunu kullanabiliriz.
Dışarıdan değer almayan veri güncelleme işlemi için query metodunu kullanabiliriz.
<?php
$baglanti = new mysqli("localhost", "root", "", "kisi");
if ($baglanti->connect_errno > 0) {
die("<b>Bağlantı Hatası:</b> " . $baglanti->connect_error);
}
$baglanti->set_charset("utf8");
$sorgu = $baglanti->query("UPDATE kisiler SET kisi_adi = 'Yusuf Sefa', kisi_soyadi = 'SEZER' WHERE kisi_sira = 4");
if ($baglanti->errno > 0) {
die("<b>Sorgu Hatası:</b> " . $baglanti->error);
}
if ($baglanti->affected_rows > 0) {
echo $baglanti->affected_rows . " kayıt güncellendi.";
} else {
echo "Herhangi bir kayıt güncellenemedi.";
}
$baglanti->close();
?>
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.
Ön hazırlı sorgunun çalıştırılması sonucunda mysqli_stmt($sorgu) sınıfı içindeki affected_rows özelliği güncellenen kayıt sayısını alır.<?php
$sira = 1;
$adi = "Yusuf Sefa";
$soyadi = "SEZER";
$baglanti = new mysqli("localhost", "root", "", "kisi");
if ($baglanti->connect_errno > 0) {
die("<b>Bağlantı Hatası:</b> " . $baglanti->connect_error);
}
$baglanti->set_charset("utf8");
$sorgu = $baglanti->prepare("UPDATE kisiler SET kisi_adi = ?, kisi_soyadi = ? WHERE kisi_sira = ?");
if ($baglanti->errno > 0) {
die("<b>Sorgu Hatası:</b> " . $baglanti->error);
}
$sorgu->bind_param("ssi", $adi, $soyadi, $sira);
$sorgu->execute();
if ($sorgu->affected_rows > 0) {
echo $sorgu->affected_rows . " kayıt güncellendi.";
} else {
echo "Herhangi bir kayıt güncellenemedi.";
}
$sorgu->close();
$baglanti->close();
?>
Güncellenen kayıt sayısını belirten affected_rows özelliği kullanılarak veri güncelleme işlemi kontrol edilebilir.
Veri güncelleme işlemindeki dikkat edilmesi gereken yer UPDATE SQL komutuna uygun WHERE koşulunun yazılmasıdır.
Herhangi bir WHERE koşulu belirtilmediğinde tablodaki veriler toplu/çoklu olarak güncellenecektir.