Неопределенная переменная: con Невозможно получить данные из MySQL

1

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

Теги:
mysqli

1 ответ

1
Лучший ответ

Измените порядок включения файла в index.php

Сначала вы включаете файл базы данных

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

затем

<?php include'includes/nav.php'; ?>

Избегайте подключения к базе данных в db.php который включает после nav.php что вы получаете переменную undeine con

Ещё вопросы

Сообщество Overcoder
Наверх
Меню