v2.5.2
Giriş yap

PDOException: SQLSTATE[HY093]: Geçersiz parametre numarası: bağlı değişkenlerin sayısı

aleynakilic
251 defa görüntülendi

Yine aynı hata farklı bir yerde kullanım farklı olduğu için düzeltemedim

if(isset($_POST["guncelle"])) {
	$guncelle = $db->prepare("update kütüphane set adsoyad = adsoyad, kulad = kulad, sifre = sifre, yas = yas where id = id");
	$kontrol = $guncelle->execute(array(
	"adsoyad" => $_POST["adsoyad"],
	"kulad" => $_POST["kulad"],
	"sifre" => $_POST["sifre"],
	"yas" => $_POST["yas"],
	"id" => $_POST["id"]));
	if($kontrol)
	{
		header("Location:kullanici_guncelle.php");
		exit;
	}
	else
	{
		echo "Hata";
	}
}
tayfunerbilen
588 gün önce

öncelikle lütfen soru başlıklarını daha mantıklı belirle.
sorununa gelecek olursak, prepare metodu içinde execute da yolladığın değerlerin başına : koyman gerekiyor. Yani:

if(isset($_POST["guncelle"])) {
	$guncelle = $db->prepare("update kütüphane set adsoyad = :adsoyad, kulad = :kulad, sifre = :sifre, yas = :yas where id = :id");
	$kontrol = $guncelle->execute(array(
    	"adsoyad" => $_POST["adsoyad"],
    	"kulad" => $_POST["kulad"],
    	"sifre" => $_POST["sifre"],
    	"yas" => $_POST["yas"],
    	"id" => $_POST["id"])
    );
	if($kontrol) {
		header("Location:kullanici_guncelle.php");
		exit;
	}
	else {
		echo "Hata";
	}
}