mysql 是否根据搜索词返回用户详细信息?

x33g5p2x  于 2022-11-28  发布在  Mysql
关注(0)|答案(1)|浏览(142)
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语句,但不会返回任何值。

fnvucqvd

fnvucqvd1#

我想可能是语句有问题,执行前应该先执行log the prepared语句:

System.out.println(psmt);
rs = psmt.executeQuery();

然后你应该检查MySQL控制台中的SQL,如果它返回任何结果。或者你可以检查查询日志。参见here如何启用它。

相关问题