我想在MeekroDB中编写这样的查询:
SELECT * FROM `tablename` WHERE `id` IN (3,1,2) ORDER BY FIELD (`id`,3,1,2)我希望它在meekro中是这样工作的:
$possible_ids = array(1,2,3);
DB::query('SELECT * FROM `tablename` WHERE `id` IN %ld0 ORDER BY FIELD (`id`,%ld0)', $possible_ids);但它得到的是这样的:
SELECT * FROM `tablename` WHERE `id` IN (3,1,2) ORDER BY FIELD (`id`,(3,1,2))这里有什么方法可以避免这个括号吗?
发布于 2019-12-26 21:41:46
试试这个:
$possible_ids = implode(',', array(1, 2, 3));
//echo "SELECT * FROM `tablename` WHERE `id` IN %ld0 ORDER BY FIELD (`id`,%ld0)', $possible_ids";
DB::query('SELECT * FROM `tablename` WHERE `id` IN %ld0 ORDER BY FIELD (`id`,%ld0)', $possible_ids);您也可以使用echo查询进行检查。试试看,它工作得很好。
https://stackoverflow.com/questions/40458791
复制相似问题