PHP define () не делает Кажется, я работаю с include ()

Я пробовал свои силы в OO PHP, и в настоящее время у меня есть три файла. У меня есть class_lib.php, в котором на данный момент есть только класс databaseServer, файл index.php и файл definitions.php. Я хочу поместить всю мою конфиденциальную информацию базы данных в файл определений. Однако, когда я это делаю, я получаю сообщение об ошибке при попытке подключиться к базе данных: «Неизвестный сервер DB_HOST». Мой файл определений:

<?php
define("DB_HOST","localhost");
define("DB_USER","root");
define("DB_PASS","password");
define("DB_NAME","database");
?>

Затем я использую их в индексном файле следующим образом:

include('definitions.php');
include('class_lib.php');

$testing = new databaseServer();

$testing->connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);

И функция, которую я использую в классе databaseServer, такова:

    function connect($host,$user,$pw,$db) {
        $this->con = mysql_connect($host,$user,$pw);
        if (!$this->con) {
            die('Could not connect: ' . mysql_error());
            }
        $this->selectDb($db);
        }

    function selectDb($database) {
        $this->db = mysql_select_db($database,$this->con);
        if (!$this->db) {
            echo "Could not Select database: " . mysql_error();
            }
        }

Есть идеи, почему это не будет работать? Я' Мы также пытались поместить файл определений во включаемый файл class_lib, но он все еще не работает.

11
задан Brian Tompsett - 汤莱恩 27 November 2015 в 17:34
поделиться

1 ответ

Это должно работать нормально, и я никогда не видел, чтобы это не работало.

  • Убедитесь на 100%, что включения находятся в правильном порядке (определения должны быть загружены в первую очередь)

  • Сделайте тестовые выходные данные для значений констант в файле "definitions.php" и индексном файле

  • Сделайте 100 % уверен, что вы вызываете правильные файлы

5
ответ дан 3 December 2019 в 11:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: