为了账号安全,请及时绑定邮箱和手机立即绑定

如何在单个 php 文件中使用 fetch_assoc() 两次?

如何在单个 php 文件中使用 fetch_assoc() 两次?

PHP
慕丝7291255 2023-12-15 17:05:59
我有两张桌子。一个是文章列表,另一个是类别列表。在类别表中,我使用 fetch_assoc() 从数据库中获取数据并在表中列出。但我想获取文章表中文章的数据。如何在同一个 php 文件中使用 fetch_assoc() 两次?<table>  <caption class="table_title">Category Management</caption>  <thead>    <tr class="table_header">      <th>ID</th>      <th>Ttile</th>      <th>Edit</th>      <th>Delete</th>    </tr>  </thead>  <tbody>    <?php while($row = $categoryResult->fetch_assoc()) {?>     <tr class="table_content">         <td><?php echo escape($row['id'])?></td>         <td><?php echo escape($row['title'])?></td>         <td><a href="./update_category.php?id=<?php echo escape($row['id'])?>">Edit</a></td>         <td><a href="./handle_delete_category.php?id=<?php echo escape($row['id'])?>">Delete</a></td>      </tr>    <?php }?>  </tbody></table>文章表<tbody><?php while($row = $result->fetch_assoc()) {?>  <tr class="table_content">    <td></td>    <td></td>    <td></td>    <td><a href="./update.php">Edit</a></td>    <td><a href="./delete.php">Delete</a></td>  </tr>  <?php }?></tbody>
查看完整描述

1 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

代替


while($row = $categoryResult->fetch_assoc()) {


foreach($categoryResult as $row)

它的作用相同,但foreach方法使用自动迭代器,该迭代器始终从结果集的开头开始。


$categoryResult = $mysqli->query();

// OR

$categoryResult = $stmt->get_result();


// from start to end as associative array

foreach($categoryResult as $row) {

    // ...

}


// again, from start to end as associative array

foreach($categoryResult as $row) {

    // ...

}

如果由于某种原因,您必须使用while 循环和手动方法,那么您需要确保在开始循环之前始终将内部指针重置为第一条记录。但是,不建议手动循环。使用 手动执行此操作时更容易犯更多错误while


$categoryResult->data_seek(0);

while($row = $categoryResult->fetch_assoc()) {

    // ...

}


查看完整回答
反对 回复 2023-12-15
  • 1 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信