Php 未定义变量:con无法从mysql获取数据

Php 未定义变量:con无法从mysql获取数据,php,mysqli,Php,Mysqli,index.php <?php include'includes/nav.php'; ?> <?php include "includes/db.php"; ?> <?php $allcategeories = mysqli_query($con,"SELECT * FROM categories"); while($row = mysqli_fetch_assoc($allcategeories )) { echo

index.php

<?php include'includes/nav.php'; ?>
<?php include "includes/db.php"; ?>
<?php 
$allcategeories = mysqli_query($con,"SELECT * FROM categories");
while($row = mysqli_fetch_assoc($allcategeories ))
{
   echo "<li>{$row['cat_title']}</li>";
}
 ?>
<?php
$db['DBhost'] = "localhost";
$db['DBuser'] = "root";
$db['DBpass'] = "";
$db['DBNAME'] = "cms";
foreach($db as $key => $value) {
    define(strtoupper($key), $value);
}
$con = mysqli_connect(DBHOST,DBUSER,DBPASS,DBNAME);
if(!$con) {
    echo "cannot establish connection";
}
?>

包括/nav.php

<?php include'includes/nav.php'; ?>
<?php include "includes/db.php"; ?>
<?php 
$allcategeories = mysqli_query($con,"SELECT * FROM categories");
while($row = mysqli_fetch_assoc($allcategeories ))
{
   echo "<li>{$row['cat_title']}</li>";
}
 ?>
<?php
$db['DBhost'] = "localhost";
$db['DBuser'] = "root";
$db['DBpass'] = "";
$db['DBNAME'] = "cms";
foreach($db as $key => $value) {
    define(strtoupper($key), $value);
}
$con = mysqli_connect(DBHOST,DBUSER,DBPASS,DBNAME);
if(!$con) {
    echo "cannot establish connection";
}
?>

错误

注意:第19行C:\xampp\htdocs\blog\includes\nav.php中的未定义变量:con

警告:mysqli_query()要求参数1为mysqli,在第19行的C:\xampp\htdocs\blog\includes\nav.php中为空

警告:mysqli_fetch_assoc()要求参数1为mysqli_结果,在第20行的C:\xampp\htdocs\blog\includes\nav.php中为空


更改在index.php中包含文件的顺序

<?php include'includes/nav.php'; ?>
<?php include "includes/db.php"; ?>
<?php 
$allcategeories = mysqli_query($con,"SELECT * FROM categories");
while($row = mysqli_fetch_assoc($allcategeories ))
{
   echo "<li>{$row['cat_title']}</li>";
}
 ?>
<?php
$db['DBhost'] = "localhost";
$db['DBuser'] = "root";
$db['DBpass'] = "";
$db['DBNAME'] = "cms";
foreach($db as $key => $value) {
    define(strtoupper($key), $value);
}
$con = mysqli_connect(DBHOST,DBUSER,DBPASS,DBNAME);
if(!$con) {
    echo "cannot establish connection";
}
?>
首先包括数据库文件

<?php include "includes/db.php"; ?>

然后


因为你的数据库连接在你的
db.php
中被玷污了,包括在
nav.php
之后,这就是你得到的undeine变量con