常量问题和连接数据库PHP

时间:2013-11-21 14:45:03

标签: php mysql apache

我在屏幕上收到这些错误

  

注意:使用未定义的常量DB_SERVER - 假定为'DB_SERVER'   第13行的C:\ xampp \ htdocs \ photo_gallery \ includes \ database.php

     

注意:使用未定义的常量DB_USER - 假定为'DB_USER'   第13行的C:\ xampp \ htdocs \ photo_gallery \ includes \ database.php

     

注意:使用未定义的常量DB_PASS - 假定为'DB_PASS'   第13行的C:\ xampp \ htdocs \ photo_gallery \ includes \ database.php

     

警告:mysql_connect():php_network_getaddresses:getaddrinfo   失败:没有这样的主人知道。在   第13行的C:\ xampp \ htdocs \ photo_gallery \ includes \ database.php

     

警告:mysql_connect():php_network_getaddresses:getaddrinfo   失败:没有这样的主人知道。在   第13行的C:\ xampp \ htdocs \ photo_gallery \ includes \ database.php   数据库连接失败:php_network_getaddresses:getaddrinfo failed:没有这样的主机。

这是我的代码:

<?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_PASS);
        if (!$this->connection) {
            die("Database connection failed: " . mysql_error());
        } else {
            $db_select = mysql_select_db(DB_NAME, $this->connection);
            if (!$db_select) {
                die("Database selection failed: " . mysql_error());
            }
        }
    }

我的常量定义如下:

<?php

// Database Constants
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", "photo_gallery");

?>

我做错了什么?

2 个答案:

答案 0 :(得分:0)

我得到了同样的错误,并修改了一个小编辑。顺便说一句,你应该迁移到mysqli而不是mysql。

以下是我的问题:PHP constant not defined

您应该使用以下代码

替换database.php中的require_once
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . "config.php");

它会将路径设置为绝对路径,并且可以顺利地工作

答案 1 :(得分:-1)

似乎常量不可用于mysql_connection函数。包括定义常量的脚本或在类 MySQLDatabase 本身中定义常量。