簡體   English   中英

PHP MYSQLi使用foreach循環遍歷結果集

[英]PHP MYSQLi loop through result set using foreach loop

我在這里有此代碼:

$conn = new mysqli("localhost", "root", "pass", "branchdatabase");

$result = $conn->query("SELECT item.item_name, stock.stock_amount FROM item INNER JOIN stock ON item.item_id=stock.fk_item_id");

var_dump($result);

foreach($result as $r)
{
  echo $r["item_name"];
}

哪個應該可以工作,但是echo $r["item_name"]; 應該不起作用,但是可以,因為當我使用var_dump輸出$ result時,它返回一個mysqli對象,那么如何在foreach循環中對此進行索引並輸出數據呢? 我只是在如何echo $r["item_name"];之間感到困惑echo $r["item_name"]; $ result作為對象而不是數組返回時有效嗎?

更新:

在$ result上執行var_dump之后,我得到了:

object(mysqli_result)[28]
  public 'current_field' => int 0
  public 'field_count' => int 2
  public 'lengths' => null
  public 'num_rows' => int 5
  public 'type' => int 0

對我來說是一個返回的對象,所以當$ result是object時,我怎么能使用foreach循環像數組一樣循環遍歷數據呢?

如果我是你,我會使用while循環回顯輸出數據。

像這樣:

while($rf = $r -> fetch_assoc())
{
     echo $rf['item_name'];
     echo $rf['stock_amount'];
}

暫無
暫無

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

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