PHP define() 似乎无法与 include() 一起使用

标签 php class include

我一直在尝试 OO PHP,目前有三个文件。我有一个 class_lib.php,目前只有一个 databaseServer 类、一个 index.php 文件和一个 definitions.php 文件。我想将我所有的敏感数据库信息放入定义文件中。但是,当我这样做时,在尝试连接到数据库时出现错误:“Unkown server 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 文件的包含中,但它仍然不起作用。

最佳答案

这应该可以正常工作,而且我从未见过它不起作用。

  • 100% 确保包含的顺序正确(需要先加载定义)

  • 对“definitions.php”文件和索引文件中的常量值进行测试输出

  • 100% 确定您正在调用正确的文件

关于PHP define() 似乎无法与 include() 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3510909/

相关文章:

javascript - div加载完成后调用js函数

c# - : base()代码是什么

java - 我的最终数组是如何被修改的?

c++ - 确认在类构造函数中从文本文件初始化变量

MYSQL SELECT WHERE 子句 : How to include a column from another table?

c++ - 使用makefile和VS Code包含第三方 header 和库

javascript - Laravel 使用 onchange 隐藏表单

php - 成功插入MySQL表后更新页面

php - 在两个表中搜索并使用 PDO 合并结果

php - 如何使用 php 包含文件将事件类添加到元素