好的,这是问题所在。我定义了一些常量来存储在我的数据库信息中。
示例 -
FileName: 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'中定义这些常量而不是在不同的文件上执行它,这是有效的。
为什么会发生这种情况?
答案 0 :(得分:0)
在运行时定义一个命名常量,说明为什么不在类中调用。
如果你这样使用,请将变量设为全局。