0
在我的項目我有prepareStatement
問題
的問題是,我想根據用戶的IE類型查詢表,如果用戶是普通然後訪問userlist
表,如果用戶是然後,管理員訪問admin
表
我已經試過這樣:
問題與prepareStatement變量表名
String userid=request.getParameter("userid");
String pwd=request.getParameter("pwd");
String check = request.getParameter("radio");
String table;
String status="";
if(check.equals("General"))
table="userlist";
else
table="Administrator";
try{
String sql = "Select status from"+table+"where userid=? and pwd=?";
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/Quiz?","root","password");
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1,userid);
ps.setString(2,pwd);
ResultSet rs=ps.executeQuery();
我得到以下異常:
Errorcom.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的 在您的SQL語法中有錯誤;檢查對應於 你的MySQL服務器版本正確的語法以線附近 「用戶id =」 nawed13593' 和pwd =‘你好’」使用1
我不想使用createStatement
,因爲這將手冊讓我的項目容易出現sql注入
任何人都可以請幫我解決這個問題,以及上述異常被拋出的原因嗎? 預先感謝您