gpt4 book ai didi

php - mysqli_fetch_row 不返回结果,但 mysqli_fetch_assoc 返回结果

转载 作者:可可西里 更新时间:2023-11-01 07:34:53 24 4
gpt4 key购买 nike

我正在为一项作业编写一个简单的 php 页面,其中一个标准是同时使用 mysqli_fetch_assoc 和 mysqli_fetch_row。我对两者使用相同的查询:

<?php
// Perform database query
$query = "SELECT * FROM player JOIN stat ON player.playerId = stat.playerId";
$result = mysqli_query($dbconnection, $query);
if (!$result) {
die("Database query failed");
}
?>

当我在我的数据库中运行此查询时,它按预期返回 3 行。在我的网页中,我首先使用 mysqli_fetch_assoc($result),它呈现了一个包含预期信息的无序列表。然后我继续使用 mysqli_fetch_row($result) 来显示更多信息,但是第二个 while 循环不产生任何表数据(只是第 th 个标签的内容)。

    <h1>The Players</h1>
<ul>
<?php
// Use return data with mysqli_fetch_assoc
while($row = mysqli_fetch_assoc($result)) {
// output data from each row
?>
<li><?php echo $row["playerId"]; ?></li>
<li><?php echo $row["fname"] . " " . $row["lname"]; ?></li>
<li><?php echo $row["team"]; ?></li>
<li><?php echo $row["position"]; ?></li>
<?php echo "<hr />";
}
?>
</ul>

<h1>The Stats</h1>
<table>
<th>Player</th>
<th>Batting Avg</th>
<th>Homeruns</th>
<th>RBIs</th>

// DATA BELOW THIS POINT IS NOT RENDERED BY THE WEBPAGE

<?php
// Use return data with mysqli_fetch_row
while($row = mysqli_fetch_row($result)) {
?>
<tr>
<td><?php echo $row[2]; ?></td>
<td><?php echo $row[8]; ?></td>
<td><?php echo $row[9]; ?></td>
<td><?php echo $row[10]; ?></td>
</tr>
<?php
}
?>
</table>


<?php
// Release returned data
mysqli_free_result($result);
?>

我将在接下来的几周内为这个类(class)编写大量的 PHP 代码,所以我真的很想知道一些关于如何自己解决此类错误的提示。有什么方法可以让我轻松检查 $result 的内容,看看是否有任何资源实际通过了?在我看来,第二个循环中的 $row 没有被分配给任何东西,所以它只是不执行 echo 命令。

最佳答案

鬼是正确的。当您最后遍历记录时,它不会自行重新设置,也不是循环列表。因此,您必须使用 $obj->data_seek(int, ie 0); 手动将其设置为 0;或过程式 mysqli_data_seek($result,0);

关于php - mysqli_fetch_row 不返回结果,但 mysqli_fetch_assoc 返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29291219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com