mysqli_query未定义索引通知

时间:2013-06-17 21:31:18

标签: php

我已经尝试过搜索答案,但到目前为止没有任何效果,下面的代码在$ category中有一个值时会正常工作,但是我希望在没有的时候显示一些代码。

    $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';
    }

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

感谢。

2 个答案:

答案 0 :(得分:0)

为什么不检查类别是否存在?

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

哦,在我忘记之前,你还应该在运行查询之前清理$ _GET ['category']。

答案 1 :(得分:0)

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

执行类似

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

这样,您就不会在不需要时运行查询。

您还应该考虑学习PDO。它将有助于处理每个人都在谈论的SQL注入问题。