我的代码有问题。它将要搜索数据库,并查看结果。我的问题是代码“工作”直到我尝试搜索不存在的东西时。然后,即使我搜索数据库中存在的东西(音乐专辑,例如coldplay),它也没有显示任何结果......一切都有效,直到那个时候。您能否请一看这段代码,看看是否可以采取任何措施使其更好地运作? 谢谢你的时间!
<%!
ResultSet rs;
String var="no query";
int test=-1;
String msg="";
String change1(String temp){
String value="";
for(int i=0; i<temp.length();i++)
{
if(temp.charAt(i)=='/')
value=value + ')';
else if(temp.charAt(i)=='.')
value=value+"%";
else if(temp.charAt(i)=='m')
{
int j=i;
j++;
if(temp.charAt(j)=='p')
{
j++;
if(temp.charAt(j)=='3')
{
i=j;
value=value+"|";
}
}
if(j==i+1 || j==i+2)
{
char c = temp.charAt(i);
int k = (int) c;
c=(char)++k;
value=value+c;
}
}
else
{
char c = temp.charAt(i);
int j = (int) c;
c=(char)++j;
value=value+c;
}
}
return value;
}
String changeToValid(String temp)
{
String value="";
for(int i=0; i<temp.length();i++)
{
if(temp.charAt(i)=='.')
value=value + "&";
else
value=value+temp.charAt(i);
}
return value;
}
String validate(String temp)
{
String value="";
for(int i=0; i<temp.length();i++)
{
if(temp.charAt(i)==' ')
{
int j=i;
if(temp.charAt(++j)==' ')
break;
else
value=value+' ';
}
else
value=value+temp.charAt(i);
}
return value;
}
%>
<%
if(request.getParameter("query")!=null)
{
var=validate(request.getParameter("query").toLowerCase());
}
try{
rs=DataConnection.getReordData("SELECT * FROM music_info WHERE MATCH(title,album,artist,body) AGAINST('"+var+"' IN BOOLEAN MODE)");
if(!rs.next())
{
test=0;
msg="No result Found";
}
}catch(Exception e){out.println(e);}
%>