我正在使用数据库项目,我创建了一个单独的文件来保存所有数据库信息名称' config.php'。对于数据库,我保留了另一个数据库.php'文件在同一目录中。
------------------------的config.php --------------
<?php
defined('DB_SERVER') ? null : define('DB_SERVER',"localhost");
defined('DB_USER') ? null : define('DB_USER',"gallery");
defined('DB_PASS') ? null : define('DB_PASS',"phpOTL123");
defined('DB_NAME') ? null : define('DB_NAME',"photomania");
?>
------------------------ databae.php -------------
<?php
require_once("config.php");
class MySQLDatabase{
private $conn;
function __construct(){
$this->open_connection();
}
public function open_connection(){
$this->conn = mysqli_connect(DB_SERVER,DB_USER,DB_PASS);
if(!$this->conn){
die("Database Connection Failure :(".mysql_errno());
}else{
$db_select = mysqli_select_db($this->conn,DB_NAME);
if(!$db_select){
die("Can't select the database".mysql_errno());
}
}
}
public function close_connection(){
if(isset($this->conn)){
mysqli_close($this->conn);
unset($this->conn);
}
}
}
$database = new MySQLDatabase;
?>
问题是当我使用
在索引文件中包含database.php时require_once("../includes/database.php");
它会出现以下错误。
注意:使用未定义的常量DB_SERVER - 假设&#39; DB_SERVER&#39;在 第11行的C:\ XAMPP \ htdocs \ gallery \ includes \ database.php
注意:使用未定义的常量DB_USER - 假设&#39; DB_USER&#39;在 第11行的C:\ XAMPP \ htdocs \ gallery \ includes \ database.php
注意:使用未定义的常量DB_PASS - 假设&#39; DB_PASS&#39;在 第11行的C:\ XAMPP \ htdocs \ gallery \ includes \ database.php
警告:mysqli_connect():php_network_getaddresses:getaddrinfo 失败:没有这样的主人知道。在 第11行的C:\ XAMPP \ htdocs \ gallery \ includes \ database.php
警告:mysqli_connect():( HY000 / 2002):php_network_getaddresses: getaddrinfo失败:没有这样的主机。在 第11行数据库中的C:\ XAMPP \ htdocs \ gallery \ includes \ database.php 连接失败:(
任何帮助??????
答案 0 :(得分:2)
你的问题似乎在于以下一行
require_once("config.php");
尝试用
替换它require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . "config.php");
答案 1 :(得分:0)
如果在定义常量之前必须检查是否定义了常量,那么构造错误就是错误的。只需删除检查,定义它们,并始终使用require_once。