index.php
<?php include'includes/nav.php'; ?>
<?php include "includes/db.php"; ?>
包括/nav.php
<?php
$allcategeories = mysqli_query($con,"SELECT * FROM categories");
while($row = mysqli_fetch_assoc($allcategeories ))
{
echo "<li>{$row['cat_title']}</li>";
}
?>
包括/db.php
<?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:''examplep''htdocs''blog''includes''nav.php中的未定义变量:con
警告:mysqli_query()要求参数1为mysqli,在第19行的C:''examplep''htdocs''blog''includes''nav.php中为null
警告:mysqli_fetch_assoc()要求参数1为mysqli_result,在第20行的C:''examplep''htdocs''blog''includes''nav.php中为null
更改在index.php中包含文件的顺序
首先你包括你的数据库文件
<?php include "includes/db.php"; ?>
然后
<?php include'includes/nav.php'; ?>
因为你的数据库连接在你的db.php
中被玷污了,包括在nav.php
之后,你得到了一个定义变量con