2015-09-15 4 views
-1

Я не знаю, почему я получаю эту ошибку. Я просто следую за инструкциями. Как это исправить?Использование неопределенной константы и mysqli_connect():

<?php 

define ("HOST_NAME", "localhost"); 
define ("HOST_USER", "root"); 
define ("HOST_PASSWORD", ""); 
define ("DB_NAME", "db_user"); 
?> 

И фактический код

<?php 
require_once("config.php"); 

class MySQLDatabase{ 

private $connection; 

function __construct(){ 
    $this->open_connection(); 
} 

public function open_connection(){ 
    $this->connection = mysqli_connect(HOST_NAME,HOST_USER,HOST_PASSWORD,DB_NAME); 
    if(mysqli_connect_errno()){ 
     die("Database connection failed" . 
      mysqli_connect_error() . 
      " (" . mysqli_connect_errno . ")" 
    ); 
    } 

} 

Ошибки

Notice: Use of undefined constant HOST_NAME - assumed 'HOST_NAME' in C:\xampp\htdocs\first-project\includes\database.php on line 13

Notice: Use of undefined constant HOST_USER - assumed 'HOST_USER' in C:\xampp\htdocs\first-project\includes\database.php on line 13

Notice: Use of undefined constant HOST_PASSWORD - assumed 'HOST_PASSWORD' in C:\xampp\htdocs\first-project\includes\database.php on line 13

Notice: Use of undefined constant DB_NAME - assumed 'DB_NAME' in C:\xampp\htdocs\first-project\includes\database.php on line 13

Warning: mysqli_connect(): php_network_getaddresses: getaddrinfo failed: No such host is known. in C:\xampp\htdocs\first-project\includes\database.php on line 13

Warning: mysqli_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: No such host is known. in C:\xampp\htdocs\first-project\includes\database.php on line 13

Notice: Use of undefined constant mysqli_connect_errno - assumed 'mysqli_connect_errno' in C:\xampp\htdocs\first-project\includes\database.php on line 17 Database connection failedphp_network_getaddresses: getaddrinfo failed: No such host is known. (mysqli_connect_errno)

+0

делает первый код-блок является 'config.php'? и где находится этот файл? – M0rtiis

+0

зависит от того, к чему обращается ваш исходный файл. Я не вижу, где вы используете этот класс. –

+0

У вас есть несколько файлов config.php в разных каталогах? Может быть, вы не считаете тот, кем считаете себя. – Mike

ответ

1

Самое простое решение (далеко от лучших) будет заменить

require_once("config.php"); 

с

define ("HOST_NAME", "localhost"); 
define ("HOST_USER", "root"); 
define ("HOST_PASSWORD", ""); 
define ("DB_NAME", "db_user"); 

и забыть о config.php

это не нарушит ваше приложение-логику в других местах, я считаю, никто, кроме MySQLDatabase класса нужен

+1

Это полосовая помощь, если что-нибудь. –

+0

mb. но ваш знак обмана действительно «ничего» о предмете – M0rtiis

+0

Расскажите, что; вы используете код, который позиционирует OP для символа, устанавливайте отчет об ошибках, чтобы поймать и отобразить, и вы измените свое мнение; гарантировано ;-) –

Смежные вопросы