如何存取 MySQLi 結果集中的結果
您的查詢:
select uid from userbase
您的循環:
$i = 0; $output = mysqli_query($mysqli, "select uid from userbase"); while ($row = $output->fetch_array()) { $deviceToken = $row[$i]; echo $deviceToken; $i++; }
問題
您只取得第一個值,因為fetch_array() 從結果集中檢索單行,並且您使用索引$ i 存取該行中的元素。但是,後續的每一行都會有不同的索引,導致不正確的結果。
解
迭代結果集有多種解:
逐一取得:
逐一取得:while ($row = $output->fetch_array()) { echo $row['uid']; }
使用MySQLI 的迭代器:
foreach ($output as $row) { echo $row['uid']; }
注意:
您可以使用 MYSQLI_ASSOC 取得關聯數組或 MYSQLI_NUM 取得索引數組作為結果集。
最佳實踐建議使用 MySQLi 的物件導向語法,因為它可以簡化程式碼。此外,考慮迭代中行的索引以正確存取值也很重要。以上是如何存取 MySQLi 結果集中的所有結果而不僅僅是第一個結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!