2014-12-02 38 views
0

我想將結果單獨放入變量中,但爲此我需要能夠將它們分開調用。現在我有這個查詢檢索6個結果(用mysqli_num_rows測試)。 但是,當我打印它時,它只會顯示我的6個結果中的第一行。從僅顯示第一個結果的Sql數組

print_r($row) = 

Array ([0] => Iran [1] => 28) 
+0

查詢是什麼樣的?您好,查詢是:$查詢=「選擇*從WKaverage WHERE平均> 27.8」;#fetch_row **不** ** fetch_rows ** – Kyslik 2014-12-02 18:50:20

+0

嗨,查詢是:但在mySQL上工作正常。 – Jeak 2014-12-02 18:51:02

+1

您需要爲每一行調用'mysqli_fetch_row()'。 – Cyclonecode 2014-12-02 18:51:35

回答

2

爲了得到你需要做的是這樣的所有行:

$rows = array(); 
while($row = mysqli_fetch_row($result)) { 
    $rows[] = $row; 
} 
// $rows will now contain all rows in the result set 
+0

謝謝你,你是對的! 8將會給你「接受答案」! – Jeak 2014-12-02 18:55:09

+0

是否需要'$ rows' init? (少代碼更好的代碼,容易閱讀代碼更好的代碼) – Kyslik 2014-12-02 18:55:11

+0

@Kyslik - 不需要。 – Cyclonecode 2014-12-02 18:55:40

1

你的功能

$result = mysqli_query ($con, $query) or die("FOUT: " . mysqli_error($con)); 

echo "<p>mysqli_num_rows($result)</p>"; 

$row = mysqli_fetch_row($result); 
print_r($row); 
mysqli_free_result($result); 

結果,mysqli_fetch_row(),只返回單行結果:

http://php.net/manual/en/mysqli-result.fetch-row.php

嘗試這樣的循環通過:

while ($row = mysqli_fetch_row($result) { 
    // Do something 
} 

謝謝,

安德魯

+2

是和不是。所有的提取函數都返回一行。你需要在一個循環中獲取。 – 2014-12-02 18:52:03

+0

這也將只返回一行。 – Cyclonecode 2014-12-02 18:52:27

+0

謝謝,編輯。 – versalle88 2014-12-02 18:54:35

0

您應該使用而

while ($row = mysqli_fetch_row($result)){ 
print_r($row); 
//do more stuff... 
} 

您可以改用FETCH_ASSOC fetch_row來有邏輯陣列鍵

0

試試這個吧:

$result = mysqli_query ($con, $query) or die("FOUT: " . mysqli_error($con)); 

echo "<p>mysqli_num_rows($result)</p>"; 

$rows = array(); 
$row = mysqli_fetch_row($result); 

do 
{ 
    $rows[] = $row; 

}while($row = mysqli_fetch_row($result)) 

mysqli_free_result($result);