调用函数时未定义的变量错误

时间:2017-09-02 17:17:08

标签: php mysql mysqli e-commerce online-store

我正在使用PHP在线商店工作,在这个项目中,我创建了一个包含一些自定义表格的数据库,如品牌,类别,......

然后为了从db中检索数据,我创建了这个connect.php文件,如下所示:

<?php 
$con = mysqli_connect("localhost","root","","myshop");
?>

之后我创建了一个名为get_cats.php的新文件,它从类别表中获取数据:

    <?php 
require ('connect.php');
function get_cats(){
    $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'];
        $cat_title = $row_cats['cat_title'];
        echo "
            <div class='panel panel-default'>
                <div class='panel-heading'>
                    <h4 class='panel-title'><a href='index.php?cat=$cat_id'><strong>$cat_title</strong></a></h4>
                </div>
            </div>
        ";
    }
}
?>

然后在我的index.php文件中我简单地调用了函数:

<h2 class="BTitrBold">Categories</h2>
<div class="panel-group category-products BHoma" id="accordian">
<?php get_cats(); ?>
</div><!--/category-products-->

但每当我加载页面时,都会收到以下错误消息:

注意:未定义的变量:第5行的get_cats.php中的con

get_cats.php的第5行是这样的:

  

$ run_cats = mysqli_query($ con,$ get_cats);

但是正如您在代码中看到的那样,我已正确地将db连接文件包含在此文件中。所以我不知道为什么会收到这个错误!

所以,如果你知道,请告诉我..我真的很感激。谢谢:))

1 个答案:

答案 0 :(得分:0)

global $con;添加到您的函数中。它是一个全局变量,您的函数无法自动访问它。