变量MySql查询SORT BY和ORDER


Variable MySql Query SORT BY and ORDER

我有来自查询字符串的变量(不用担心,我做得很安全)。请告诉我如何将变量添加到我的sql查询中。我的变量:

$order = "ASC";
if(isset($_POST['sort'])){
    if($_POST['sort']=="date"){
        $sort = "date";
    }
    else if($_POST['sort']=="pricelow"){
        $sort = "Price";
    }
    else if($_POST['sort']=="pricehigh"){
        $sort = "Price";
        $order = "DESC";
    }
}

我的问题如下:

 mysql_query("SELECT * FROM event ORDER BY '$sort' '$order'");

我想你已经涵盖了它,只是一个简单的更改,从排序和顺序变量周围删除SQL中的单引号

mysql_query("SELECT * FROM event ORDER BY $sort $order")

只是附带说明:mysql不推荐使用,我建议使用mysqli或PDO

mysql_query("SELECT * FROM event ORDER BY " . $sort . " " . $order);

或者,像这样改变你的任务:

$order = " DESC";

你可以使用:

mysql_query("SELECT * FROM event ORDER BY " . $sort . $order);