我正在尝试使用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:)
提前致谢!
答案 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