在Mysql where子句中使用java变量

在Mysql where子句中使用java变量,java,mysql,resultset,Java,Mysql,Resultset,我想在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=Dri

我想在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:未知列'Userid\u input'在'where子句'

中尝试以下操作:

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);

参考:

或者,您可以使用准备好的语句:

String query=“从注册中选择用户类型,其中User\u name.User\u name=?”

PreparedStatement ps=conn.prepareStatement(查询)

ps.setInt(1,用户ID_输入)

结果集rs=ps.executeQuery()


有关准备好的语句的详细信息

“从注册中选择用户类型,其中User\u name.User\u name=”+Userid\u input
?即使现在,我仍收到以下错误异常:com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:“where子句”中的未知列“Vijay”//此处的“Vijay”是Userid\u输入值我在其lef之前尝试过此操作,但即使如此,我仍收到异常,可能是列名不正确,注意,对于Unix/Linux/Mac(但不是Windows),它区分大小写。哦,我刚刚意识到用户名。用户名很可能是不正确的。如果它不仅仅是用户名,那么也检查一下情况。