Unknown column 'about' in 'field list'
Merhaba pdo ile kullanıcı kaydetmek istiyorum ama başlıkta gördüğünüz hatayı alıyorum ve ilk defa karşılaştım bu sorun ile çözümünü bilenler yazabilirler mi?
kod:
$register = $db->prepare("INSERT INTO users SET firstname=:firstname, surname=:surname, username=:username, email=:email, password=:password, about=:about, gender=:gender");
$insert = $register->execute(array(
"firstname" => $firstname,
"surname" => $surname,
"username" => $username,
"email" => $email,
"password" => $password,
"about" => $about,
"gender" => $gender
));
Hata çıktısı:
Array
(
[0] => 42S22
[1] => 1054
[2] => Unknown column 'about' in 'field list'
)
Not: veritabanına baktım tablo doğru gözüküyor.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (7)
sql deki tablonu oluştururken
boş durumunu null yapmadıysan boş giden verilerden sebep hata da alabiliyor olabilirsin herkesin verdiği kodlar ve seninkide dahil
hiç birinde sorun yok
sen o tabloyu silip bence bir tekrar oluştur
ve bazen bazı sütün isimlerini mysql kabul etmeyebiliyor böyle birşeyle de karşılaşmıştım var ama yok hükmünde sayabiliyor.
Ben biraz takıntılı birisiyim o yüzden bu şekilde yazardım :)
$register = $db->prepare("INSERT INTO `users` (`firstname`, `surname`, `username`, `email`, `password`, `about`, `gender`) VALUES (:firstname, :surname, :username, :email, :password, :about, :gender)");
$register->bindValue(':firstname', $firstname, PDO::PARAM_STR);
$register->bindValue(':surname', $surname, PDO::PARAM_STR);
$register->bindValue(':username', $username, PDO::PARAM_STR);
$register->bindValue(':email', $email, PDO::PARAM_STR);
$register->bindValue(':password', $password, PDO::PARAM_STR);
$register->bindValue(':about', $about, PDO::PARAM_STR);
$register->bindValue(':gender', $gender, PDO::PARAM_INT);
$insert = $register->execute();
bence veritabanındaki 1 harf seni yanıltıyor olabilir bazen çalışması gerkip çalışmayınca insan gerilir ve o eksik yada değişik harfi görmeyebilir.
veri tabanı toblonda " about " alanı yok dıyor
AYRICA BU ŞEKİL KULLANABILIRSIN ZMANDAN TASARRUF HATA PAYINDA AZALIR
$register = $db->prepare("INSERT INTO users SET firstname=?, surname=?, username=?, email=?, password=?, about=?, gender=?");
$insert = $register->execute([$firstname, $surname, $username, $email, $password, $about, $gender]);
Bu sorguyu PhpMyAdmin üzerinden çalıştırmayı denedin mi?
Birde veritabanı tablosunuda atarsan daha iyi yardımcı olabiliriz.