php - 尝试从 phpmyadmin 表输出每个类别的子类别时,php 中未定义索引

标签 php mysql phpmyadmin localhost undefined-index

我在 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))
?>

输出的错误是: enter image description here cat 和 cat_nm 是类别表的列名。我在这里做错了什么吗? 哪种输出子类别的正确方法是?谢谢!

最佳答案

因为,

$_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/

相关文章:

php - 在 Laravel 应用程序中放置非 Controller 或模型方法的位置

PHP线程和同步

php - 如何在 Joomla 的给定查询中选择用户名?

while 循环 JOIN 中的 PHP SQL 查询

php - 如何根据两行条件选择列值?

php - 找不到我的变量的值

PHP显示与sql执行不同的查询

mysql - aes_decryption 在 phpmyadmin 中不起作用

php - 在 mysql 服务器和 phpmyadmin 之间搞砸了

php - 使用 PHPMyAdmin 删除条目后无法将新数据插入 MySQL 数据库