我是PHP/sql新手,但我似乎無法弄清楚爲什麼這個函數沒有返回一個適當排序的數組。它返回正確的結果,但它們沒有排序。爲什麼這個SQL查詢不返回一個排序的數組
//TAKE PRODUCT ID RETURN ARRAY OF PRODUCT INFO
function productinfo($pid) {
global $sql;
$query = "SELECT * FROM Products
WHERE Product_ID = '$pid'
ORDER BY 'P_Name'";
$result = mysqli_query($sql, $query);
$array = array();
if(mysqli_num_rows($result) < 1) {
echo mysqli_error($sql);
}//END IF
else{
while($row = mysqli_fetch_array($result)) {
array_push($array, $row['Product_ID']);
array_push($array, $row['P_Name']);
array_push($array, $row['Charge_Desc']);
array_push($array, $row['Low_Price']);
array_push($array, $row['High_Price']);
array_push($array, $row['Link']);
array_push($array, $row['Description']);
}//END WHILE
}//END ELSE
return $array;
}//END FUNCTION
編輯:更改Mysql查詢到下面的代碼,仍然沒有得到一個排序的數組。
$query = "SELECT * FROM Products
WHERE Product_ID = '$pid'
ORDER BY P_Name ASC"
您在sql語句中的「Order By」需要知道如何排序:DESC或ASC。 –
您的PHP代碼不會嘗試對您的SQL結果進行排序。而你的SQL查詢按一個常數值排序。 –