使用 foreach 输出 mysql 表的内容时遇到问题。 mysql 表中的每个条目都会打印出表 (tr, td) 等,但 td 和/td 标记之间没有任何内容,其中每个 $item 都应该被回显。
$sql = 'SELECT domain FROM domainsuggestions';
$domains = mysqli_query($link, $sql); // get domain suggestions from table
<table>
<tr>
<td>Domain Suggestions</td>
</tr>
<?php foreach ($domains as $item): ?>
<tr>
<td><?php echo htmlspecialchars($item, ENT_QUOTES, 'UTF-8'); ?></td>
</tr>
<?php endforeach; ?>
</table>
最佳答案
您使用 MySQL 的逻辑完全错误。您需要先执行查询,获取结果的资源ID,然后循环遍历结果。
$sql = 'SELECT domain FROM domainsuggestions';
$results= mysqli_query($link, $sql); // get domain suggestions from table
<table>
<tr>
<td>Domain Suggestions</td>
</tr>
<?php while ($item = mysqli_fetch_assoc($results)): ?>
<tr>
<td><?php echo htmlspecialchars($item['domain '], ENT_QUOTES, 'UTF-8'); ?></td>
</tr>
<?php endwhile; ?>
</table>
关于php - Foreach $item 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10544664/