當 foreach 后跟顯示相同查詢結(jié)果的 mysqli_fetch_row 時,mysqli_fetch_row() 不會顯示。但是,如果 mysqli_fetch_row 在 foreach() 顯示之前執(zhí)行。為什么是這樣?詢問:<?php$connection = mysqli_connect("localhost", "root", "", "login_app");$query = "SELECT * FROM users";$result = mysqli_query($connection, $query);if(!$result){ die("db connection failed " . mysqli_error());}?>僅顯示 FORACH 的結(jié)果: <?php foreach($result as $results){ echo "User ID: " . $results['userID'] . "<br>"; echo "Username: " . $results['userName'] . "<br>"; echo "Password: " . $results['password'] . "<br>"; }; $row = mysqli_fetch_row($result); print_r($row); ?> 顯示 FOREACH 和 MYSQLI_FETCH_ROW 的結(jié)果: <?php $row = mysqli_fetch_row($result); print_r($row); foreach($result as $results){ echo "User ID: " . $results['userID'] . "<br>"; echo "Username: " . $results['userName'] . "<br>"; echo "Password: " . $results['password'] . "<br>"; }; ?>
2 回答

白豬掌柜的
TA貢獻1893條經(jīng)驗 獲得超10個贊
執(zhí)行 SELECT 查詢并mysqli_query
返回一個mysqli_result
對象。該對象實現(xiàn)Traversable
了 ,這就是您能夠使用 foreach 循環(huán)來顯示結(jié)果的原因。
foreach($result as $results){ ...
基本上是一種更方便的做法
while ($results = mysqli_fetch_row($result)) { ...
(請參見此處的示例 #3 。)
無論采用哪種方式,您都在獲取所有結(jié)果,并且當您到達結(jié)果集的末尾時,$results
將保存最后一個獲取的值 ( null
)。
- 2 回答
- 0 關(guān)注
- 337 瀏覽
添加回答
舉報
0/150
提交
取消