jsp查询数据库相同查询语句得到不同结果
代码如下:
<body>
    <%
   String server="localhost";
   String dbname="test";
   String user="root";
   String password="";
   String port="3306";
   String name="wang",pass="wang";
   String dburl="jdbc:mysql://"+server+":"+port+"/"+dbname+"?"+user+"&"+password;
   try{
   Class.forName("org.gjt.mm.mysql.Driver").newInstance();
   Connection con=DriverManager.getConnection(dburl);  
   Statement state=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
   ResultSet result=state.executeQuery("select * from info where name= ' " +name+" 'and password= ' " +pass +" ' ");
   //ResultSet result_1=state.executeQuery("select * from info where name='wang' and password='wang' ");
   %>
   <%=result.next() %>  
   <%ResultSet result_1=state.executeQuery("select * from info where name='wang' and password='wang' ");%>
   <%=result_1.next() %>
   <%  
   }catch(Exception e){} %>
   <br>
   </body>
</html>
数据库是mysql,数据表info里面有数据values(name='wang',password='wang'),使用的是tomcat7.0,myecplise,结果如下:
false true  
希望技术流给我解释一下。
------解决方案--------------------
 ' " +name+" '
'和"之间有空格, pass类似。
这样使得你查的变成 name=" wang "了。
所以查不到。
------解决方案--------------------
  ResultSet result=state.executeQuery("select * from info where name= '" +name+"'and password= '" +pass +"' ");
单引号和双引号之间不能有空格。。。。
否则就变成select * from info where name=' wang ' and password=' wang '
当然没有结果。。。