我有一個查詢字符串的變量(不要擔心,我安全地做到了這一點)。請告訴我如何將變量添加到我的sql查詢中。我的變量:變量MySql查詢排序依據和排序
$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'");
刪除'$ sort'和'$ order'的單引號 – 2013-08-31 20:49:03
我很高興你問。請[不要在新代碼中使用mysql_ *函數](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。 他們不再被維護,並[正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。 改爲了解** Prepared Statements **,並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)。請參閱[本文](http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php),以便快速瞭解如何做到這一點以及爲什麼這麼重要。 –
至於Akam所說的字段名稱不會被引用,也不會執行ASC DESC關鍵字。只有時間字段名稱需要引號,並且只有當它們的名稱匹配mysql關鍵字時 –