Bu şekilde denermisiniz.
<?php
if(isset($_POST["submit"])){
$kadi = $_POST["kadi"];
$sifre = $_POST["sifre"];
$query = $db->query('SELECT * FROM uyeler WHERE kadi = ? AND sifre = ?');
$query ->execute([
$kadi , $sifre
]);
if($query->rowCount() > 0){
$_SESSION["oturum"] = true;
$_SESSION["kadi"] = $kadi;
$_SESSION["sifre"] = $sifre;
echo '<b style="color:green;">Giriş Yapıldı</b>';
header('refresh:1; url=index.php');
}else{
echo "<b style='color:red;'>Kullanıcı Adı Veya Şifre Yanlış</b>";
}
}
?>
Böyle çalışmaz hocam, execute fonksiyonu prepare fonksiyonu ile dönen nesneye özel bir fonksiyondur. query ile çalışmaz. Yani
$db->query
yerine
$db->prepare
kullanmak zorunlu ya da query ile kullanıyorsanız doğrudan bilgileri girmelisiniz.
@ScriptEvin eğer veritabanı yapınızı atarsanız belki daha çok yardımcı olabiliriz.