2016-06-26 36 views
0

申し訳ありませんが、アカウントを作成する際にウェブサイトに問題があります。SQLSTATE [HY000]:一般的なエラー:1366整数値が正しくありません。

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'guid' at row 1'

そして、私のコードは次のとおりです: 私の誤差がある

$db->query('INSERT INTO accounts (guid, account, pass, level, vip, email, lastIP, question, reponse, pseudo) VALUES ("", "'.$account.'", "'.$pass1.'", "0", "0", "'.$mail.'", "'.$ip.'", "'.$question.'", "'.$reponse.'", "'.$pseudo.'")'); 

は私を助けてください...どうもありがとう、Stackoverflowers:D!

+5

理解するのは簡単 - あなたはINTタイプフィールド( 'guid')に空の文字列を挿入しようとしている –

+0

は、列名から' guid'を削除し、それが値から '「」'最初の対応のremove。私はそのフィールドが 'プライマリキー'と '自動インクリメント'だと思っているから –

+3

あなたのクエリはSQLインジェクション攻撃の危険にさらされています。 –

答えて

1

整数を必要とする列に空の文字列を挿入しようとしています。あなたはおそらく整数を挿入するべきです。セットアップによっては、0や何かを挿入するだけでなく、列がguidと呼ばれるので、おそらく何かが壊れるでしょう。別のオプションは、完全に省略し、自動的に設定されているかどうかを確認することです。

$db->query('INSERT INTO accounts (account, pass, level, vip, email, lastIP, question, reponse, pseudo) VALUES ("'.$account.'", "'.$pass1.'", "0", "0", "'.$mail.'", "'.$ip.'", "'.$question.'", "'.$reponse.'", "'.$pseudo.'")'); 
+0

ああ私の神....ありがとう、本当に私は非常に満足している! –

+1

@CreyJRこれがあなたの質問に答えた場合、あなたはそれを受け入れるべきではないので、ユーザーは彼らのクレジットと担当者を得るでしょう。 –

+0

私のために、それは大丈夫ですか? :) –

関連する問題