簡體   English   中英

在 Mysql where 子句中使用 java 變量

[英]Using java variables in Mysql where clause

我想在 SQL 語法中使用 java 變量。請建議它是否可能。這是我的代碼

String Userid_input=request.getParameter("Userid");//I am getting dynamic input from User

String Password_input=request.getParameter("Password");

下面給出了數據庫連接

Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/Proj_name","root","root");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select User_type from Signup where User_name.User_name=Userid_input");//**Userid_input** is a java variable

我收到以下錯誤,

發生異常 com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 'where 子句'中的未知列'Userid_input '

嘗試這個 :

ResultSet rs=st.executeQuery("select User_type from Signup where User_name=" + Userid_input);

嘗試這個,

   String query = "select User_type from Signup where User_name.User_name="+Userid_input;
   ResultSet rs = st.executeQuery(query);

參考: https : //docs.oracle.com/javase/tutorial/jdbc/basics/retrieving.html

或者,您可以使用准備好的語句:

String query = "SELECT User_type FROM Signup WHERE User_name.User_name = ?";

PreparedStatement ps = conn.prepareStatement(query);

ps.setInt(1, Userid_input);

結果集 rs = ps.executeQuery();

更多關於准備好的語句http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM