2016-06-27 73 views
3

我已經搜索並嘗試修復錯誤,但我無法做到這一點。我的代碼裏面有什麼問題?我將在下面粘貼代碼和錯誤。據我瞭解它的數據類型。如果我犯了任何語法錯誤,對此感到抱歉。不正確的整數值SQL錯誤

$sql = <<<SQL 
    INSERT INTO karakter (KullanıcıAdı,uid,Isim,Cinsiyet,Irk,Boy,Kilo,Gün,Ay,Yıl,Güç,Bünye,Dayanıklılık,Çeviklik,Karizma,Zeka,İrade,Odaklanma,Ustalık,Ziraat,İşçilik,Aşçılık,Botanik,Balıkçılık,Dericilik,Marangozluk,Hekimlik,VahşiYaşam,DuvarUstalığı,Camcılık,Demircilik,Avcılık,Şarapçılık,Çekilme,Kalkan,Hançer,Kılıç,Balta,Gürz,Mızrak,Yay,Arbalet) 
    VALUES ("$user","$uid","$isim","$cinsiyet","$irk","$boy","$kilo","$gun","$ay","$yil","$Güç","$Bünye","$Dayanıklılık","$Çeviklik","$Karizma","$Zeka","$İrade","$Odaklanma","$Ustalık",'$Ziraat',"$İşçilik","$Aşçılık","$Botanik","$Balıkçılık","$Dericilik","$Marangozluk","$Hekimlik","$VahşiYaşam","$DuvarUstalığı","$Camcılık","$Demircilik","$Avcılık","$Şarapçılık","$Çekilme","$Kalkan","$Hançer","$Kılıç","$Balta","$Gürz","$Mızrak","$Yay","$Arbalet") 
    ON DUPLICATE KEY UPDATE 
    KullanıcıAdı=VALUES(KullanıcıAdı), 
    uid=VALUES(uid), 
    Isim=VALUES(Isim), 
    Cinsiyet=VALUES(Cinsiyet), 
    Irk=VALUES(Irk), 
    Boy=VALUES(Boy), 
    Kilo=VALUES(Kilo), 
    Gün=VALUES(Gün), 
    Ay=VALUES(Ay), 
    Yıl=VALUES(Yıl), 
    Güç=VALUES(Güç), 
    Bünye=VALUES(Bünye), 
    Dayanıklılık=VALUES(Dayanıklılık), 
    Çeviklik=VALUES(Çeviklik), 
    Karizma=VALUES(Karizma), 
    Zeka=VALUES(Zeka), 
    İrade=VALUES(İrade), 
    Odaklanma=VALUES(Odaklanma), 
    Ustalık=VALUES(Ustalık), 
    Ziraat=VALUES(Ziraat), 
    İşçilik=VALUES(İşçilik), 
    Aşçılık=VALUES(Aşçılık), 
    Botanik=VALUES(Botanik) 
SQL; 

錯誤是:

不正確的整數值: '' 列 'Ziraat' 在行1

+0

容易理解'你不能將空值傳遞給整數列。' –

+0

所以在代碼之前有一個空變量。我對嗎? – Belial

+0

表示提供0或任何其他整數值。 ''''是字符串不是整數 –

回答

2

基於錯誤Incorrect integer value: '' for column 'Ziraat' at row 1: -

1.Either您沒有設置與即將在該列插入任何值,相應的變量。

2.或者您正在向該列發送''(空字符串),並且由於列爲integer type而拒絕。

解決方案: - 使用正確的整數值(0或> 0)設置該列的相應變量。

注意: - 檢查並糾正自己。謝謝。

2

請檢查表字段'Ziraat'datatype .The integer場將不接受' '作爲integer' 'string。您可以給0>0 any value代替' '

+0

謝謝:)我發現了這個問題。 – Belial

+0

你是正確的,所以+10。我在你的回答中做了一些修改。 :) :) –