v2.5.2
Giriş yap

Unknown column 'about' in 'field list'

egemennk1
1,464 defa görüntülendi

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.

Cevap yaz
Cevaplar (7)
egemennk1
1145 gün önce

Tabloyu silip yeniden oluşturdum düzeldi.

aydinkeskin
1145 gün önce

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.

egemennk1
1145 gün önce

valla 10 kez kontrol ettim bir sorun gözükmüyor hatta about u kaldırıp denedim busefer aynı hatayı gender içinde verdi garip.

makifgokce
1145 gün önce

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();
aydinkeskin
1145 gün önce

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.

qplot
1145 gün önce

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]);



makifgokce
1145 gün önce

Bu sorguyu PhpMyAdmin üzerinden çalıştırmayı denedin mi?
Birde veritabanı tablosunuda atarsan daha iyi yardımcı olabiliriz.