if (searchTerm.contains(".com") && searchTerm.contains("@")) {
System.out.println("In email check");
psmt.setString(1, "EMAIL_ID");
psmt.setString(2, searchTerm);
} else if (numresult==true){
System.out.println("In number check");
psmt.setString(1, "MOBILE_NUMBER");
psmt.setString(2, searchTerm);
} else if (uresult == true | alphanumeic == true) {
System.out.println("In username check");
psmt.setString(1, "USER_NAME");
psmt.setString(2, searchTerm);
}
rs = psmt.executeQuery();
while(rs.next()) {
HomeVo vo = new HomeVo();
vo.setId(rs.getInt("ID"));
vo.setFirstName(rs.getString("FIRST_NAME"));
vo.setLastName(rs.getString("LAST_NAME"));
vo.setEmailId(rs.getString("EMAIL_ID"));
vo.setNumber(rs.getString("MOBILE_NUMBER"));
vo.setQualification(rs.getString("QUALIFICATION"));
vo.setState(rs.getString("STATE"));
vo.setGender(rs.getString("GENDER"));
vo.setUserName(rs.getString("USER_NAME"));
vo.setDob(rs.getString("DOB"));
return vo;
}
下面是我的MySQL查询。
String FETCH_USER_BY_SEARCHTERM = "SELECT * FROM SignUpTable WHERE ? = ? ";
根据用户输入的搜索词,这个逻辑检查它是否是用户名、电子邮件或移动的号码,并将其作为输入参数,控件转到特定的correct if语句,但不会返回任何值。
1条答案
按热度按时间fnvucqvd1#
我想可能是语句有问题,执行前应该先执行log the prepared语句:
然后你应该检查MySQL控制台中的SQL,如果它返回任何结果。或者你可以检查查询日志。参见here如何启用它。