-2
以下のコードはjava.sql.SQLExceptionを示しています。誰もがこのjava.sql.SQLException:ORA-00911:無効な文字
Class.forName("oracle.jdbc.driver.OracleDriver");
String lname=request.getParameter("lastname");
String uname=request.getParameter("username");
String fname=request.getParameter("firstname");
String cemail=request.getParameter("email");
String pswd=request.getParameter("password");
String cpswd=request.getParameter("conformpassword");
String sex=request.getParameter("gender");
long phon=Long.parseLong(request.getParameter("mobile"));
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "system", "admin");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("insert into users values('" + uname + "','" + fname + "','" + lname + "','" + cpswd + "',"+ phon + ",'" + cemail + "','" + sex + "');");
渡される変数の値は何ですか? – Ocracoke
例外が何であるかを推測する必要がありますか?また、コードはSQLインジェクションで脆弱です。 –
ORA-00911は、ステートメントの末尾にあるセミコロンからのものであり、存在してはいけません。しかし、準備されたステートメントとバインド変数を使用する必要があります。 –