Mysqli Güncelleme İle ilgili sorun
4
●263
- 19-08-2018, 11:42:39Böyle karmaşık kodlarla nasıl çalışıyorsunuz gerçekten hayret verici :/
Öncelikle sisteminizi SQL Injection'a karşı korumak için ön hazırlıklı sorgu kullanmaz faydalı olacaktır.
Güncelleme kontrolünümysqli_fetch_array($baglanti)ile yaparak hata yapmışsınız bunun yerine mysqli_affected_rows($baglanti) ile yapmalısınız.
Yani kabaca şöyle olacak
$kayit_sayisi = mysqli_affected_rows($baglanti); if ( $kayit_sayisi > 0 ) { echo $kayit_sayisi ." kayıt güncellendi." } else { echo "Herhangi bir kayıt güncellenemedi."; } - 19-08-2018, 14:08:26malesef olmadı hocam mysqli_affected_rows'ide denedim mysqli_fetch_array'ıda denedim.seogrenci adlı üyeden alıntı: mesajı görüntüle
hala çözülmedi bi yeni önerisi olan varmı ? - 19-08-2018, 15:55:40Koddaki if sonuna noktalı virgül eklemişsiniz.ugurizm adlı üyeden alıntı: mesajı görüntüle
Ayrıca kodları aşağdaki gibi düzenledim.
Aşağıdaki kodu çalıştırıp deneyin.
Yine hata varsa // echo $sql_sorgusu; // SQL sorgusunu yazdırır.
olan yerdeki yorumu kaldırın ve SQL oluşan SQL sorgusunu phpmyadmin yerinde çalıştırın belki hatalı bir yer vs. vardır.
<?php include "database.php"; $ayarsorgu = mysqli_query($baglanti, "SELECT * FROM ayar"); $ayarcek = mysqli_fetch_assoc($ayarsorgu); if (isset($_POST['kaydet'])) { $id = 0; $sql_sorgusu = "UPDATE ayar SET ayar_title='" . $_POST['ayar_title'] . "', ayar_slider1='" . $_POST['ayar_slider1'] . "', ayar_slider2='" . $_POST['ayar_slider2'] . "', ayar_sliderbuton='" . $_POST['ayar_sliderbuton'] . "', ayar_aciklamabas1='" . $_POST['ayar_aciklamabas1'] . "', ayar_aciklamabas2='" . $_POST['ayar_aciklamabas2'] . "', ayar_aciklamabas3='" . $_POST['ayar_aciklamabas3'] . "', ayar_aciklamabas4='" . $_POST['ayar_aciklamabas4'] . "', ayar_tercih_title='" . $_POST['ayar_tercih_title'] . "', ayar_tercih_title2='" . $_POST['ayar_tercih_title2'] . "', ayar_tercih_b1='" . $_POST['ayar_tercih_b1'] . "', ayar_tercih_b2='" . $_POST['ayar_tercih_b2'] . "', ayar_tercih_aciklama1='" . $_POST['ayar_tercih_aciklama1'] . "', ayar_tercih_aciklama2='" . $_POST['ayar_tercih_aciklama2'] . "', ayar_tercih_buton1='" . $_POST['ayar_tercih_buton1'] . "', ayar_tercih_buton2='" . $_POST['ayar_tercih_buton2'] . "', ayar_footer_aciklama='" . $_POST['ayar_footer_aciklama'] . "' WHERE ayar_id='$id'"; // echo $sql_sorgusu; // SQL sorgusunu yazdırır. $sql_sorgusu = mysqli_escape_string($baglanti, $sql_sorgusu); // SQL Injection için $kaydet = mysqli_query($baglanti, $sql_sorgusu); if (!$kaydet) { die("Hata oluştu: " . mysqli_error($baglanti)); } $kayit_sayisi = mysqli_affected_rows($baglanti); if ($kayit_sayisi > 0) { header("Location:./genelayarlar.php?guncellendi"); } else { echo "Herhangi bir kayıt güncellenemedi."; } } ?> - 19-08-2018, 17:33:53seogrenci adlı üyeden alıntı: mesajı görüntüle
çözdüm hocam çok teşekkür ederim.