Php mysqli_查询未定义索引通知
我尝试过搜索答案,但到目前为止没有任何效果,当$category在url中有值时,下面的代码可以正常工作,但我想在没有值时显示一些代码Php mysqli_查询未定义索引通知,php,Php,我尝试过搜索答案,但到目前为止没有任何效果,当$category在url中有值时,下面的代码可以正常工作,但我想在没有值时显示一些代码 $dynamicList = ""; $result = mysqli_query($con,"SELECT * FROM product_catalog WHERE category='".$_GET['category']."'"); while($row = mysqli_fetch_array($result)){
$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);
?>
这是我尝试过的最后一件事,它在每一页上都给了我hello,但在未设置类别时仍然是错误的
if($result != NULL){
echo 'hello' ;
}
else
{
echo 'goodbye';
}
我的头很可能是炸了,因为我看了这么久,如果有人能给我指出正确的方向,我将不胜感激
谢谢。为什么不检查类别是否存在
if(isset($_GET['category'])) {
//yourcode
}
哦,在我忘记之前,您还应该在使用$\u GET['category']运行查询之前对其进行清理。您最好先测试$\u GET['category']是否存在,然后仅在数据库查询存在时运行,如果不存在,则运行备用代码 做点像
if(isset($_GET['category'])){
//your database query
}
else{
//your alternate code
}
这样,您就不会在不需要的时候运行查询
你也应该考虑学习PDO。它将有助于解决每个人都在谈论的sql注入问题 $result将告诉您查询的工作情况,而不是返回行的位置。首先,解决SQL注入问题。然后,考虑<代码> $$GET([类别] ] < /代码>是否会给出一个未定义的索引错误,如果<代码> > $yGET数组中的<代码> <代码>索引恰好是未定义的。MySQL也可以编写准备好的语句;你不需要PDO。当然,虽然很好。