0

好的,这就是问题所在。我定义了一些常量来存储我的数据库信息。

示例 -
文件名:config.php

<?php
//Define Database Constants

defined("DB_SERVER")   ? NULL : define("DB_SERVER", "localhost");
defined("DB_NAME")     ? NULL : define("DB_NAME", "test");
defined("DB_USER")     ? NULL : define("DB_USER", "root");
defined("DB_PASSWORD") ? NULL : define("DB_PASSWORD", "password");

?>

我已将其包含在另一个名为database.php的文件中:

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

class MySQLDatabase {
private $connection;

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

public function open_connection(){
    $this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD);
    if(!$this->connection){
        die("Database connection failed: " . mysql_error());
    } else {
        $db_select = mysql_select_db(DB_NAME);
        if(!$db_select){
            die("Database selection failed: " . mysql_error());
        }
    }
}

}

$database = new MySQLDatabase();

?>

这是问题所在,每当我在另一个页面上包含“database.php”时,都会出现一个错误,指出我有未定义的常量。当然数据库连接也不起作用。现在,如果我在 'database.php' 中定义这些常量,而不是在不同的文件上进行,这可以工作。

发生这种情况有原因吗?

4

1 回答 1

0

在运行时定义一个命名常量,为什么不在类中调用。

如果您这样使用,请将变量设为全局变量。

于 2013-08-31T07:14:19.860 回答