2011-12-20 3 views
0

Java 응용 프로그램을 사용하여 MySQL에 전자 메일 주소를 삽입하려고합니다. 문제는 "@"문자가 MySQLSyntaxErrorException을 일으키는 것입니다. 전자 메일 주소를 문자열로 삽입하려고합니다. 이 문제를 어떻게 해결할 수 있습니까?java 응용 프로그램을 사용하여 MySQL에 전자 메일 주소 삽입

+11

우리는 ... .... 코드가 필요합니다. – user482594

+2

은 많은 일이 될 수 있지만, 가장 가능성있는 시나리오는 "손으로"(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 구문 분석기에 의해 해석되지 않는 위치 아이콘을 사용하자. 추가 보너스로 SQL 인젝션에 면역이됩니다.

관련 문제