javax.servlet.ServletException: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'form customer where loginName='1'' at line 1部分代码:
String sqlStr="select * from "+tablename+" where loginName=? and password=?";
stmt=conn.prepareStatement(sqlStr);
stmt.setString(1,username);
stmt.setString(2,password);
rs=stmt.executeQuery();loginName 和password 都为varchar 
这到底是怎么回事啊??帮帮忙!!!

解决方案 »

  1.   

    to use near 'form customer where loginName='1'' at line 1   
    form?这个怎么会出现?楼主仔细看一下那个地方写错了没,程序
    里是from 呀,如果真报错form 那就是驱动问题了
      

  2.   

    我是写的from,我也感到很奇怪。
      

  3.   

    String sqlStr="select * from "+tablename+" where loginName=? and password=?"; 
    stmt=conn.prepareStatement(sqlStr); 
    stmt.setString(1,username); 
    stmt.setString(2,password); 
    rs=stmt.executeQuery(); 
    请确认你的数据库里面也是loginName的字段
      

  4.   

    SQL语句不符合语法
    把语句打印出来,然后在MYSQL控制台里单独执行测试一下
      

  5.   

    我的问题跟你的一样 刚刚解决 是应为占位符不能和 加号同时使用 
    举个例子
    "select   *   from   address.`liver` where " + SelectChange + "='" + SelectText+ "' limit " + 1 +","+ 10; 这样是正确的
    如果用占位符的话能是
    "select   *   from   address.`liver` where liver_name = ? limit ?, ?";
    如果写成
    "select   *   from   address.`liver` where " + SelectChange + "='" + SelectText+ "' limit ?,?";就是错的