php pdo'da update işlemi
if (isset($_POST['datapost'])) {
$kul_mail = $_POST['kul_mail'];
$kul_sifre = $_POST['kul_sifre'];
$kullanicisor = $db_name->prepare("SELECT * FROM users_table WHERE kul_mail=:kul_mail");
$kullanicisor -> execute(array('kul_mail' => $_POST['kul_mail']));
$say = $kullanicisor -> rowCount();
if ($say>0) {
print($say);
print(" kullanıcı var <br>");
//burdan sonrasında sıkıntı var
$veriupdate=$db_name->prepare("UPDATE users_table SET kul_sifre =: kul_sifre WHERE kul_mail =: $kul_mail");
$update = $veriupdate->execute(array("kul_sifre" => $kul_sifre));
if ($update) {
print(" Güncelleme Başarılı.");
}
else{
print(" Güncelleme yok..");
}
}
else{
print(" Kullanıcı yok");}
}else{
print("Hata"); }
Sorum: post'tan gelen değere göre WHERE koşlunu yazıyorum ve sıkıntı yok fakat alt kısımda UPDATE yaparken güncelleme yok kısmına düşüyor bunun sebebi nedir?
Eğer senin yazdığın gibi çalışmasınıda istiyorsan
$kul_mail = $_POST['kul_mail'];
$kul_sifre = $_POST['kul_sifre'];
$kullanicisor = $db_name->prepare("SELECT * FROM users_table WHERE kul_mail=:kul_mail");
$kullanicisor -> execute(array('kul_mail' => $_POST['kul_mail']));
$say = $kullanicisor -> rowCount();
if ($say>0) {
print($say);
print(" kullanıcı var <br>");
//burdan sonrasında sıkıntı var
$veriupdate=$db_name->prepare("UPDATE users_table SET kul_sifre =:kul_sifre WHERE kul_mail=:kul_mail");
$update = $veriupdate->execute(array(
'kul_mail' => $kul_mail,
'kul_sifre' => $kul_sifre
));
if ($update) {
print(" Güncelleme Başarılı.");
}
else{
print(" Güncelleme yok..");
}
}
else{
print(" Kullanıcı yok");}
}else{
print("Hata"); }
yani where koşuna execute diyorsun ama array içinde bunu belirtmiyorsun sanırım hata bu yukarıda ikinci yazdığım
mesajda doğrudan where koşuluna değişken ile update yapabilirsin bu şekildede yapabilirsin nasıl istersen