Java 从order_details中选择oid,其中用户名=“+uname+”,order by oid desc limit 1

Java 从order_details中选择oid,其中用户名=“+uname+”,order by oid desc limit 1,java,jquery,mysql,jsp,netbeans,Java,Jquery,Mysql,Jsp,Netbeans,查询中的语法错误是什么: 从order_details中选择oid,其中UserName='+uname+'按oid desc limit 1排序; 这里我得到了语法错误。。。。plz帮助!!!错误是什么??? 完整代码: <%@page import="javax.validation.constraints.Null"%> <%@page import="java.text.SimpleDateFormat"%> <%@page import="java.sq

查询中的语法错误是什么:

从order_details中选择oid,其中UserName='+uname+'按oid desc limit 1排序; 这里我得到了语法错误。。。。plz帮助!!!错误是什么??? 完整代码:

<%@page import="javax.validation.constraints.Null"%>
<%@page import="java.text.SimpleDateFormat"%> 
<%@page import="java.sql.*"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
<%
String languages;
int price;
int tot;
String[] lang=request.getParameterValues("dish");
String event=request.getParameter("eve");
String date=request.getParameter("date");
String place=request.getParameter("place"); 
String person=request.getParameter("PERSON");
String uname=(String)session.getAttribute("username"); 
String oid="0";
int row=32;
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ready to serve", "root", "");
Statement st=con.createStatement();
st.executeUpdate("insert into order_details(event_date,PLACE,NO_OF_PERSON,Event,UserName)values('"+date+"','"+place+"','"+person+"','"+event+"','"+uname+"')");
String getoid= "select oid from order_details where UserName= '"+uname+"' order by oid desc limit 1";

ResultSet rs= st.executeQuery(getoid);
if(rs.next())
{
oid=rs.getString(1);
}
int noof=Integer.parseInt(request.getParameter("PERSON"));
tot=0;
ResultSet pric= st.executeQuery("select sum(a.price) from menu a,dorder b where a.dish=b.dish");
while(pric.next())
{
tot=pric.getInt(1)* noof;
}
for(int i=0;i<lang.length;i++)
{
    languages = lang[i];
    st.executeUpdate("insert into dorder values('"+languages+"','"+oid+"','"+uname+"')"); 
}
String totin="update order_details set tot='"+tot+"'where oid="+getoid;
st.executeUpdate(totin);
out.println("Data is successfully inserted into database.");
%>
</body>
</html>

“更新”命令中需要一些空格

 String totin="update order_details set tot = '"+tot+"' where oid = "+getoid;
根据下面的错误,选择也似乎是错误的

试一试


JSP中的1个代码==错误。2以这种方式创建SQL命令可能是SQL注入的候选方法。3缩进您的代码,以便易于读取插入数据库中的数据,但表中的“tot”值未更新……//com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解可在第1行的“从订单中选择oid_详细信息,其中用户名='rahul0190'order by oid desc limi'附近使用的正确语法根原因com.MySQL.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解可在第1行“select oid from order_details where UserName='rahul0190'order by oid desc limi'附近使用的正确语法,这是select语句,而不是更新。尝试在=之前添加空格,但该错误的含义是。。。。。。数据已正确插入数据库,但在select查询中仍会生成错误…..字符串totin=update order_details set tot='+tot+'其中oid=+getoid;圣executeUpdatetotin;它没有更新数据库中tot列的值……。您上面发布的错误与select有关。您刚刚发布的更新未被更改以反映我给出的答案。
select oid from order_details where UserName = 'fred' order by oid desc limit 1