2011-12-20 6 views
0

Javaアプリケーションを使用してMySQLに電子メールアドレスを挿入しようとしています。私が抱えている問題は、 "@"文字がMySQLSyntaxErrorExceptionを引き起こしていることです。電子メールアドレスを文字列として挿入しようとしています。どのように私はこれを修正するのですか?javaアプリケーションを使用してMySQLに電子メールアドレスを挿入します。

+11

私たちは...必要なコード.... – user482594

+2

は多くのことがありますが、最も可能性の高いシナリオは、あなたのSQLを "手作業で"構築することです(append()または+演算子)PreparedStatementを使用する代わりに、データをサニタイズしません。ここにコードを貼り付けるとわかります – radai

答えて

0

ParameterizePreparedStatementを使用してクエリします。この方法では、手動文字列のエスケープを心配する必要がなく、SQLインジェクション攻撃に対する被害が少なくなります。

5
String insert = "INSERT INTO customer_tbl(name, email) VALUES (?,?)"; 
PreparedStatement ps = con.prepareStatement(insert); 
ps.setString(1,"name"); 
ps.setString(2,"[email protected]"); 
ps.executeUpdate(); 

プリペアドステートメントあなたは何にでも設定することができ、SQLパーサーによって解析されていないplacemarkersを、使用してみましょう。追加ボーナスとして、これはあなたにもSQLインジェクションのための免疫です。

関連する問題