Mysqli_query未定义索引通知


mysqli_query undefined index notice

我试着寻找一个答案,但到目前为止没有任何工作,下面的代码工作得很好,当$category在url中有一个值,但我想显示一些代码时,它没有。

    $dynamicList = ""; 
    $result = mysqli_query($con,"SELECT * FROM product_catalog WHERE category='".$_GET['category']."'");     
    while($row = mysqli_fetch_array($result)){ 
    $id = $row["id"];
    $title = $row["title"];
    $price = $row["price"];
    $image = $row["image"];
    $product_code = $row["product_code"];
    $description = $row["description"];
    $dynamicList .= 'html code';
    }
    mysqli_close($con);  
    ?>

这是我尝试过的最后一件事是下面,这给了我每个页面上的你好,但仍然是错误的类别没有设置。

    if($result != NULL){
    echo 'hello' ;
    }
    else
    {
    echo 'goodbye';
    }

我的头很可能从我一直在看这个量的时间,如果有人能给我指出正确的方向,我将非常感激

谢谢。

为什么不直接检查category是否存在呢?

if(isset($_GET['category'])) {
    //yourcode
}

哦,在我忘记之前,您还应该在使用它运行查询之前对$_GET['category']进行消毒。

您最好先测试$_GET['category']是否存在,并仅在它存在时运行数据库查询,如果它不存在,则运行备用代码。

做一些像

if(isset($_GET['category'])){
    //your database query
}
else{
     //your alternate code
}

这样你就不会在不需要的时候运行查询了。

你也应该考虑学习PDO。它将有助于解决每个人都在谈论的sql注入问题。