2011-12-08 21 views
0

'不正な整数値:' ''列country_id 'を取得しています。時には私のドロップダウンがフォームに隠れていることがあります。だから、私はこのシチュエーションをどのように扱うかはわかりません。ここに私のコードです。助けてくれてありがとう。不正確な整数値:列エラーのための ''

$countryId = isset($_POST['country']) ? $_POST['country'] : 0; 

$inserSQL = "INSERT INTO Table1(country_id) VALUES('" .$countryId. "')"; 

$Result1 = mysql_query($inserSQL) or die(mysql_error()); 
+1

少し明白ですが... Sql文の前後に二重引用符または一重引用符はありますか? –

+0

EmCoの答えを見てください。それはあなたが必要とするすべてを持っています –

答えて

3

$countryIdの値に'を追加しています。整数が必要なので、それらを使う必要はありません。これを試してみてください:

$countryId = isset($_POST['country']) ? (int)$_POST['country'] : 0; 

$inserSQL = "INSERT INTO Table1(country_id) VALUES($countryId)"; 

$Result1 = mysql_query($inserSQL) or die(mysql_error()); 
+1

実際の問題は、データの周りの引用符ではなく、$ _POST ['country']が空白または空に戻ってくるかもしれないという事実です。 MySQLは ''をintではない空のSTRINGとして解釈し、 '0'ではintに認識して自動的に変換します。このコードは、$ _POST ['country'](int) ''を0に変換する(int)型変換のために機能します。 –

関連する問題