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";
}
?>
ошибки
Примечание. Неопределенная переменная: con в C:\xampp\htdocs\blog\включает\nav.php в строке 19
Предупреждение: mysqli_query() ожидает, что параметр 1 является mysqli, null указан в C:\xampp\htdocs\blog\includes\nav.php в строке 19
Предупреждение: mysqli_fetch_assoc() ожидает, что параметр 1 будет mysqli_result, null указан в C:\xampp\htdocs\blog\includes\nav.php в строке 20
Измените порядок включения файла в index.php
Сначала вы включаете файл базы данных
<?php include "includes/db.php"; ?>
затем
<?php include'includes/nav.php'; ?>
Избегайте подключения к базе данных в db.php
который включает после nav.php
что вы получаете переменную undeine con