1 回答
TA贡献1780条经验 获得超1个赞
您正在使用外部查询的所有结果集,而不是在内部循环中使用它。
另外,对两个查询使用相同的变量将是您的下一个问题,因为当您运行内部查询时,它会破坏外部外观的结果集
<div class="mega-menu-category">
<ul class="nav">
<!-- Other side-menu navs -->
<?php
$sql=mysqli_query($con,"SELECT id,categoryName FROM category");
while($row=mysqli_fetch_array($sql)) {
?>
<li><a href="category.php?cid=<?php echo $row['id'];?>">
<?php echo $row['categoryName'];?>
</a>
<?php
//} this causes the first loop to run to its end hence only one category processed
?>
<div class="wrap-popup column1">
<div class="popup">
<?php
// use different variable otherwise you will destroy the first resultset
$sql1=mysqli_query($con,"SELECT id, subcategory
FROM subcategory
WHERE categoryid= '$row[id]'");
while($row1=mysqli_fetch_array($sql1)){
?>
<ul class="nav">
<li>
<a href="sub-category.php?scid=<?php echo $row['id'];?>">
<?php echo htmlentities($row1['subcategory']);?>
</a>
</li>
</ul>
<?php
} // end inner while
} // end outer while
?>
</div>
</div>
</li>
<!-- used one -->
</ul>
</div>
我必须提到的是,您对SQL 注入攻击持开放态度。即使您转义输入,也不安全!您应该考虑在或API 中 使用准备好的参数化语句,而不是连接值
MYSQLI_
PDO
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报