2012-09-06 22 views
0

所以我試圖讓一個腳本訪問基於特定ID的表的所有值。該腳本在陣列使用PHP返回值:涉及多行的MySQL查詢,基於最大值訪問一個

實施例:

// Select data from DB 
$query = 'SELECT * FROM experiences WHERE user_id = ' . $id; 
$result = mysqli_query($link, $query) or die (mysqli_error($link)); 

// Not sure this actually creates a 2D array... 
$array = mysqli_fetch_array($result); 

然而,我知道我需要特定任務改性的結果,例如在一個特定的值是最高的該行。

我該如何去做這件事,而$ array實際上是否包含所有行和相應的字段?

回答

1

TRY

'SELECT * FROM experiences WHERE user_id ='.$id.' HAVING MAX(column_name)

OR

"SELECT max(column_name), other column... 
    FROM experiences 
    WHERE user_id =".(int)$id 
+0

這是偉大的,但不完全是我正在尋找。這將需要我改變我的腳本 – asgaines

1

假設你已經清理$id正常,你可以做到這一點

// Select data from DB 
$query = 'SELECT * FROM experiences WHERE user_id = ' . $id; 
$result = mysqli_query($link, $query) or die (mysqli_error($link)); 

$data = array(); 
while($row = mysqli_fetch_array($result)) { 
    $data[] = $row; 
} 

$data將包含你正在尋找的二維數組對於。

如果你想要一個特定的值最高的行,我建議要麼根據你的需要看着ORDER BYMAX()

+0

失敗第5行;) –

+0

哈哈確實:)固定 – Erik

+0

嗯,但我該如何排序PHP數組的最大值? – asgaines