创建购物车时如何删除未定义的错误?

时间:2018-11-06 09:39:54

标签: php

这是我的PHP代码,在第15行抛出未定义索引“ title”的错误。

<?php
// connect to the database
$con = mysqli_connect("localhost","root","","ecommerce");
// getting the categories
    function getCats(){
        global $con;
        $get_cats = "select * from categories";
        $run_cats = mysqli_query($con, $get_cats);

        while ($row_cats = mysqli_fetch_array($run_cats)){
            $cat_id = $row_cats['cat_id'];

            // Notice: Undefined index: title in D:\wamp64\www\ecommerce\functions\functions.php on line 15
            //This is the line causing the error
            $cat_title = $row_cats['title'];

            echo "<li><a href ='#'>$cat_title</a></li>";
        }
    }
?>

通过查看我的错误消息,我知道错误在这里:

$cat_title = $row_cats['title'];

2 个答案:

答案 0 :(得分:0)

根据您的评论,您的数组结构如下:

Array ( [0] => 5 [cat_id] => 5 [1] => Ear Phones [cat_title] => Ear Phones ) 

我认为您打错了字,您可能打算这样做

$cat_title = $row_cats['cat_title'];

相反,您是错误地这样做的:

$cat_title = $row_cats['title'];

答案 1 :(得分:0)

$row_cats['title'];

未定义索引表示给定数组$ row_cats中没有标题索引。打印时必须要空了。

echo "<li><a href ='#'>$cat_title</a></li>";

您可以采取哪些措施消除错误,可以设置条件。

if(isset($row_cats['title'])){
$cat_title = $row_cats['title'];
            echo "<li><a href ='#'>$cat_title</a></li>";
}

为什么我也将回声部分放入我的病情中。因为如果不将其放入其中,则会在未定义的变量$ cat_title下方出现另一个错误。

您也可以这样做

if(isset($row_cats['title'])){
    $cat_title = $row_cats['title'];
}
                echo "<li><a href ='#'>";
if(isset($cat_title)){ echo $cat_title; }
echo "</a></li>";