Merhaba,
php ile veritabanında formdan girilen verinin zaten var olup olmadığını sorgulamam gerekiyor. PDO'da nasıl yapabileceğimi bilmiyorum daha önce ki versiyonlarda sorguyu yazıp num_rows ile satır sayısını çekiyordum fakat pdo da bunu gerçekleştiremedim. Nasıl yapabilirim yardımcı olursanız sevinirim.
PHP PDO Mysql Veri Sorgulama
7
●219
- 24-05-2021, 11:08:55$veri=$db->query("SELECT * from xxx where xx='xxx' ");oguzhanre adlı üyeden alıntı: mesajı görüntüle
PDO tarafında satır sayısını $veri->rowCount(); şeklinde alabilirsiniz - 24-05-2021, 11:50:35Merhaba aşağıda ki hatayı alıyorum:
Fatal error: Call to a member function fetch() on boolean in
if(isset($_POST['envKatEkle'])) { $katAd = $_POST['katAd']; $dataKontrol = $db -> query("SELECT * FROM kategori WHERE kat_ad=$katAd")->fetch(PDO::FETCH_ASSOC); if($dataKontrol) { header("location:../sayfa.php?durum=ok"); }else { header("location:../sayfa.php?durum=hata") } }Nedenini çözemedim bir türlü. - 24-05-2021, 12:37:25Kat _ad ın yanına string yazman lazım tırnak işaretli onlarla uğraşmamak için:oguzhanre adlı üyeden alıntı: mesajı görüntüle
query yerine prepare kullan fetch assoc yerine row count kullan ekstra olarak bunlarla uğraşmak istemiyorsan mysql tablondan benzersiz olmasını istediğin sütunu uniq yap insert hata vermezse eklemiştir verirse dönen hataya bak ona göre işle - 24-05-2021, 13:00:29Burda ekleme yapmadan yönlendirme yapmışsın ayrıca saymak yerine veri almaya çalışmışsın
$katAd = $_POST['katAd'];
$dataKontrol = $db -> query("SELECT * FROM kategori WHERE kat_ad=$katAd");
if($dataKontrol->rowCount() > 0) {
echo "bu kategori var";//header("location:../sayfa.php?durum=ok");
}else {
Echo "burda insert işlemini yap";//header("location:../sayfa.php?durum=hata")
}
} - 24-05-2021, 13:10:59Aslında kodlarımda ekleme var fakat koşul sağlandığında çalışacağı için buraya yazma gereği duymadım. Yazdığınız kodu kendime göre düzenledim fakat hata verdi.WRaNGLeR adlı üyeden alıntı: mesajı görüntüle
Cevabınız için çok teşekkür ederim, belirttiğiniz üzere sorgu içerisinde ki değişkeni string olarak gösterdiğimde sorun çözüldü. Bu işlemi veritabanında uniq yaparak çözebileceğimi belirttiğiniz için teşekkür ederim onu da deneyeceğim.Sinemium adlı üyeden alıntı: mesajı görüntüle
Saygılarımla