簡體   English   中英

mysql fetch return僅返回類中的最新行

[英]mysql fetch return only return most recent row in class

我有一個MySql類,並通過將它們作為方法返回來獲取Mysql行:

  public function fetch_assoc($result_set){
     return mysql_fetch_assoc($result_set);
  }

由於某種原因,當我嘗試遍歷已實例化的對象的方法返回時,它僅返回一個結果。

  while ($row = $a->fetch_assoc($result_set){
  ...
  }

在采用舊的時尚方式的同時,還給了我所有的靈感

  while($row = mysql_fetch_array($result_set)){
      $row['0'];
  } 

有任何想法嗎?

那是因為mysql_fetch_assoc只返回一個結果並將指針移到下一個結果。 因此,在每次迭代中,它返回都會移動指針,並在到達結果結尾時返回false。

您可以通過以下方式修改您的方法以使其起作用:

public function fetch_assoc($result_set){
    $resultArray = array();
    while ($row = mysql_fetch_assoc($result_set){
        $resultArray[] = $row;
    }
    return $resultArray;
}

您可以這樣使用數據:

foreach ($obj->fetch_assoc($result_set) as $row){
    echo $row['stuff'];
}

注意,在這種情況下, $obj->fetch_assoc($result_set)返回所有結果,而我只是使用foreach循環遍歷它;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM