在SQL中使用Like + Order by + Limit

时间:2013-12-20 12:16:51

标签: mysql

我正在尝试使用LIKE,LIMIT获取一个将为我选择2列的查询,现在我想向它添加ORDER BY,因为一些错误与LIKE thingey。 我需要通过某些列char长度来对ORDER BY行进行排序。 我试过了:

SELECT `result`, `string` FROM `strings` WHERE `string` LIKE '%{$string}%' AND `approved`=1 LIMIT 0,1 ORDER BY CHAR_LENGTH(`string`) DESC

它只是在尝试fetch_array()时给我一个PHP错误; 使用MySQLi:)

提前致谢!

3 个答案:

答案 0 :(得分:3)

你的SQL错误应该是:

SELECT `result`, `string` FROM `strings` WHERE `string` LIKE '%{$string}%' AND `approved`=1 ORDER BY CHAR_LENGTH(`string`) DESC LIMIT 0,1

看看mysql select

答案 1 :(得分:0)

首先使用var_dump或print_r查看结果,以便您能够知道fetch_array为什么会出错。 :)

答案 2 :(得分:0)

你可以试试这个

SELECT TOP 2  `result`, `string` FROM `strings` WHERE `string` LIKE '%{$string}%' AND `approved`=1  ORDER BY CHAR_LENGTH(`string`) DESC