[英]php-Ordering an SQL Select statement using value from a drop down list
我試圖根據用戶從下拉列表中選擇的內容來訂購SQL選擇查詢。 這是列表的代碼
<select name="order">
<option value="Patients_name">Name</option>
<option value="Patients_age">Age</option>
<option value="Patients_address">Address</option>
</select>
$ord=$_POST['order'];#taking the value from the list
$query="Select * from Patients ORDER BY '$ord'";
$result= mysql_query($query);
如果我更換
$query="Select * from Patients ORDER BY '$ord'";
通過$query="Select * from Patients ORDER BY Patients_age";
患者姓名,患者地址
盡管打印$ ord會給我正確的值,但它完全可以正常工作。 知道為什么它不采用$ ord的值
ORDER BY需要一個列名。 通過將其用引號引起來,您可以將其制成字符串。 刪除$ord
周圍的單引號。
順便說一句,您正在做的事情非常危險,並且容易受到SQL注入的影響。 您應該驗證所提交的列實際上是一列並被允許。
不要在''
放入$ org。
$query = "Select * from Patients ORDER BY $ord";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.