我是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查询按一个常数值排序。 –