首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp查询数据库雷同查询语句得到不同结果

2012-09-21 
jsp查询数据库相同查询语句得到不同结果代码如下:body%String serverlocalhostString dbnametest

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 '
当然没有结果。。。

热点排行