mySQL数据库的column_x包含可能存在于php数组中的值。
我想查询数据库并优先处理PHP数组中column_x值存在的任何行。
我最初的想法是选择一个column_y,如果在php数组中存在column_x则为1,否则为0,然后是ORDER BY column_y DESC。这可能吗?如果是这样,我该怎么做呢?或者,有更好的方法来解决这个问题吗?
谢谢!
答案 0 :(得分:0)
您可以使用ORDER BY column_x IN (list of values) DESC
。条件为真时,值为1
,否则为0
。
$array = array(1, 3, 4, 6);
$str = implode(', ', $array);
$sql = "SELECT * FROM yourTable
ORDER BY column_x IN ($str) DESC";
如果值来自用户输入,请确保在插入SQL之前清理它们。