ct = new ConnDB().getConn(); ps = ct.prepareStatement("select * from news where keyWords like‘%?%‘"); ps.setString(1, search);这样的方式给like里的问号赋值,会报错
Parameter index out of range (1 > number of parameters, which is 0).
就是说?它代表的仅仅是一个字符,而不是一个特殊符号(因为它位于单引号里面),这样ps.setString(1, search)中的这个search就不知道传给谁了。但是如果换成这样就可以。ct = new ConnDB().getConn(); ps = ct.prepareStatement("select * from news where keyWords like‘%"+search+"%‘");
主要是ike后面的东西换了。?换成“+search+”