关于用预编译写mysql的模糊查询语句问题

dai_jiawei 2013-11-28 08:44:12
String sql = "select * from post where postTitle like ? order by isTop desc,publishTime desc limit ?,?";

pstmt.setString(1,"%"+what+"%");
pstmt.setInt(2, (pageIndex-1)*pageSize);
pstmt.setInt(3, pageSize);

下面是报错信息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'postTitle like '%??‰?·?%'' at line 1

请问我要怎么改啊。。
...全文
208 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dai_jiawei 2013-12-01
  • 打赏
  • 举报
回复
可以了。。不用加单引号。只是我where前面没有多加个空格。。谢谢你。
  • 打赏
  • 举报
回复
这样还是不行啊: pstmt.setString(1,"'%"+what+"%'"); 看看这个: 关于mysql的模糊查询语句问题 http://zhidao.baidu.com/link?url=mSM9fAITrJ14-m48Op5JASXPFgbNiU5hCfF3SbhVi-WyUi0Z2VOQ52NvwaY8e8xFuS77K8LbCPnQX0Zojm0rNq
dai_jiawei 2013-11-28
  • 打赏
  • 举报
回复
这样不行。。。双引号一下去就报错了。我改成单引号试了下。也还是会报错
  • 打赏
  • 举报
回复
这个pstmt.setString(1,"%"+what+"%"); 改成这个试试: pstmt.setString(1,"'%"+what+"%'");

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧