Как уже говорили
0. Давим вывод ошибок
ini_set('display_errors', 0);
error_reporting(0);
ini_set('log_errors', 'On');
1. Очень рекомендую для работы с БД использовать
PDO.
mysqli морально устарел и есть подозрение, что его поддержка в скором времени прекратится
2. Не стоит хранить конфиги в константах. Гораздо удобнее описать класс конфига, и создавать его экземпляр, с указанием файла конфига.
Пример
Файл конфига
<?php
return [
'database' => [
'host' => 'localhost',
'name' => 'Less',
'user' => 'Admin',
'pass' => '123',
]
];
Код инициализации конфига
$config = new Config(include('/path/to/config.php'));
try {
$pdo = new PDO(
'mysql:host='.$config->database['host'].';dbname='.$config->database['name'],
$config->database['user'],
$config->database['pass'],
[PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING]
);
$stmt = $pdo->prepare('SELECT * FROM mytable WHERE login=:login');
$stmt->execute([':login'=>'admin']);
$admin = $stmt->fetch(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
// Тут стоит логировать ошибку
header("Location: /scripts/show_error.php");
exit();
}
3. Не используйте относительные урлы типа ../../scripts.
4. Не советую в качестве учебника сайты вроде phpfaq.ru и подобные, так как практики описанные там еще пять лет назад уже были устаревшими. Используйте официальную документацию и, по возможности, версии PHP 7.1 и выше В случае проблемы, не описанной в официальной документации, обращайтесь на Тостер.