我想將結果單獨放入變量中,但爲此我需要能夠將它們分開調用。現在我有這個查詢檢索6個結果(用mysqli_num_rows測試)。 但是,當我打印它時,它只會顯示我的6個結果中的第一行。從僅顯示第一個結果的Sql數組
print_r($row) =
Array ([0] => Iran [1] => 28)
我想將結果單獨放入變量中,但爲此我需要能夠將它們分開調用。現在我有這個查詢檢索6個結果(用mysqli_num_rows測試)。 但是,當我打印它時,它只會顯示我的6個結果中的第一行。從僅顯示第一個結果的Sql數組
print_r($row) =
Array ([0] => Iran [1] => 28)
爲了得到你需要做的是這樣的所有行:
$rows = array();
while($row = mysqli_fetch_row($result)) {
$rows[] = $row;
}
// $rows will now contain all rows in the result set
謝謝你,你是對的! 8將會給你「接受答案」! – Jeak 2014-12-02 18:55:09
是否需要'$ rows' init? (少代碼更好的代碼,容易閱讀代碼更好的代碼) – Kyslik 2014-12-02 18:55:11
@Kyslik - 不需要。 – Cyclonecode 2014-12-02 18:55:40
你的功能
$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
}
謝謝,
安德魯
是和不是。所有的提取函數都返回一行。你需要在一個循環中獲取。 – 2014-12-02 18:52:03
這也將只返回一行。 – Cyclonecode 2014-12-02 18:52:27
謝謝,編輯。 – versalle88 2014-12-02 18:54:35
您應該使用而
while ($row = mysqli_fetch_row($result)){
print_r($row);
//do more stuff...
}
您可以改用FETCH_ASSOC fetch_row來有邏輯陣列鍵
試試這個吧:
$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);
查詢是什麼樣的?您好,查詢是:$查詢=「選擇*從WKaverage WHERE平均> 27.8」;#fetch_row **不** ** fetch_rows ** – Kyslik 2014-12-02 18:50:20
嗨,查詢是:但在mySQL上工作正常。 – Jeak 2014-12-02 18:51:02
您需要爲每一行調用'mysqli_fetch_row()'。 – Cyclonecode 2014-12-02 18:51:35