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 關注
- 131 瀏覽
添加回答
舉報