亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mysqli_fetch_assoc($result) 不顯示所有結果

mysqli_fetch_assoc($result) 不顯示所有結果

PHP
揚帆大魚 2023-08-11 16:13:14
我正在嘗試使用下面的 php 代碼訪問我的查詢表。目前我的 mysql 數據庫中有兩個條目。我試圖使用mysqli_fetch_assoc將表中的所有條目打印到我的網頁中,但我嘗試的所有方法都是打印第二個條目而不是第一個條目。當我使用 while 循環while($row = mysqli_fetch_assoc($result ) 時,它會打印第二個條目而不是兩個條目。如果我使用print_r($posts);它將打印第一個條目,但不打印第二個條目。我是 php 新手,試圖學習如何將數據庫中的所有條目打印到 php 頁面上,但我不明白我做錯了什么。任何幫助都會很棒!謝謝!$sql = 'SELECT * FROM myTable ORDER BY created_at';$result = mysqli_query($conn, $sql);$posts = mysqli_fetch_assoc($result);while($row = mysqli_fetch_assoc($result)){    print_r($row); }//if I do this I see the first entry title onlyecho 'testing title: '. $posts['title'];mysqli_free_result($result);mysqli_close($conn);輸出:Array ( [id] => 2 [title] => SecondTitle [content] => Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. [created_at] => 2020-07-17 12:32:04 ) testing title: First Titleprint_r($posts) 的輸出:Array ( [id] => 1 [title] => First Title [content] => First Content. [created_at] => 2020-07-17 12:31:42 )日內:<div class="row">    <?php foreach ($posts as $post): ?>        <div>            <h1><?php echo $post['title'] ?></h1>            <h3><?php echo $post['created_at'] ?></h3>            <p> <?php echo $post['content'] ?></p>        </div>    <?php endforeach; ?></div>div 的輸出出于某種原因:111FFFFFF222不確定這些信息是否有幫助,但如果我使用 mysqli_fetch_all 而不是mysqli_fetch_assoc文件崩潰,不確定它是否與數據庫或其他東西有關。PHP 版本 7.3.6$posts = mysqli_fetch_all($result, MYSQLI_ASSOC);
查看完整描述

1 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

每次調用 mysqli_fetch_assoc() 的 mysqli 結果,都會返回下一個結果行的 assoc 數組。例如:您的表名為 user 有 3 條記錄:


id          name


1           Mark

2           Sebastian

3           Smith

選擇所有這些記錄后:


$result = mysqli_query("SELECT * FROM user");

第一次獲取將返回第一個結果行的關聯數組


$posts = mysqli_fetch_assoc($result);

// $posts["id] = 1 -- $posts["id] = "Mark"

$result 的 mysqli_fetch_assoc 的第二次調用將返回第二結果行的 assoc 數組:


$posts = mysqli_fetch_assoc($result);

    // $posts["id] = 2 -- $posts["id] = "Sebastian"

所以每次調用,都會返回下一條結果行,直到沒有記錄,該函數才會返回null。文檔


因此,如果您希望代碼按您希望的方式工作,我建議您刪除 while 循環中的第一個 mysqli_fetch_assoc 調用:


// delete this line

$posts = mysqli_fetch_assoc($result);


查看完整回答
反對 回復 2023-08-11
  • 1 回答
  • 0 關注
  • 203 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號