[TBR=https://forum.mevsim.org/images/images/2021/02/06/php47.png]PHP PDO Veri[/TBR]
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.
[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]
Aşağıdaki SQL ifadesi Beşinci öğrenci (Öğrenci No = 5) yeni bir öğrenci ismi ile günceller.
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.
[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]
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.
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 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;
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();
}
?>
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();
}
?>
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();
}
?>