我在 phpmyadmin 中有 2 个表。我从这个表中输出类别名称,如下所示:
<?php
$query="select * from category " ;
$res=mysqli_query($conn,$query);
while($row=mysqli_fetch_assoc($res))
{
echo '<li>
<a href="subcat.php?cat='.$row[ 'cat_id']. '&catnm='.$row[ "cat_nm"]. '">'.$row[ "cat_nm"]. '
</a>
</li>';
}
mysqli_close($conn);
?>
然后,如果用户单击这些类别之一,则将从我的子目录表中输出属于用户单击的类别的子类别列表。子目录表的外键是cat_id。 当我尝试输出如下子类别时发生错误:
<?php
$q = "select * from subcat where parent_id = ".$_GET['cat'];//line 6
$cat=$_GET['cat_nm'];//line 8
$res = mysqli_query($conn,$q) or die("Can't Execute Query..");
$row1 = mysqli_fetch_assoc($res);
do
{
echo '<li>'.$row1['subcat_nm'].'</li>';
}
while($row1 = mysqli_fetch_assoc($res))
?>
最佳答案
因为,
$_GET['cat_nm'] != $_GET['catnm']
看看你的链接,
<a href="subcat.php?cat='.$row[ 'cat_id']. '&catnm='.$row[ "cat_nm"]. '">'.$row[ "cat_nm"]. '
--------------------------------------------^^^^^^
应该是$_GET['catnm']
。
专业提示
您应该验证您的用户输入并使用 prepared statements防止SQL Injection .
关于php - 尝试从 phpmyadmin 表输出每个类别的子类别时,php 中未定义索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39054375/