PDO Hatam Nedir?

Aşağıda ki bilgilerle işlem yapıyorum ama hata alıyorum. Acaba hatam nerede?

VERİ TABANIM:

1657911716-3947-image

ALDIĞIM HATA:

1657911742-308114-image

veriekle.php KODLARI:

require_once 'baglan.php';
	if($_POST){

		$baslik=$_POST['baslik'];

		if (!$baslik) {
			echo "Boş Bırakmayınız";
		}
		else{
			$kaydet = $db->prepare("INSERT INTO dersler SET baslik =:b");
			$kaydet->execute([':b'=>$baslik]);

			if ($kaydet) {

				echo "Başlık başarıyla kaydedildi";
				
			}else{

				echo "Bir hata oluştu";
			}
		}
	}

?>

<form action="" method="POST">

	<input type="text" name="veri" placeholder="Başlık Giriniz"/><br>
	<input type="submit" value="GÖNDER"/>

</form>

baglan.php KODLARI:

// PDO ile MSQL veritabanına bağlanma

try {

	$db = new PDO("mysql:host=localhost;dbname=phpdersleri;charset=utf8;","root","");
	
} catch (PDOException $hata) {
	
	pring_r($hata->getMessage());

}
2 Beğeni

$baslik degiskeninin bos oldugunu soyluyor, kodlarina baktim formu gonderirken kullandigin name=veri olarak girmissin yani post dan degeri okurkende $_POST['veri'] olarak alman lazim, yada direk formdaki name alanini baslik olarak degistirebilirsin.

Ancak formda baslik adinda bir name degeri olmadigi icin yazdigin php kodunda pdo islemine gecmemesi gerekiyordu. O kisimda biraz daha fazla kontrol eklemelisin, empty yada isset isini gorecektir.

2 Beğeni

teşekkürler , dikat etmemiştim.

2 Beğeni