php 使用未定义的常量DB_SERVER -假定为“DB_SERVER”

1bqhqjot  于 2023-03-28  发布在  PHP
关注(0)|答案(4)|浏览(106)

我有以下php代码:

$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "photos";

define(DB_SERVER,$db_host);
define(DB_USER,$db_user);
define(DB_PASS,$db_pass);
define(DB_NAME,$db_name);

我正在定义DB_SERVER和上面看到的所有其他变量,但由于某种原因,我得到了以下错误:

Notice: Use of undefined constant DB_SERVER - assumed 'DB_SERVER' in /Users/ahoura/Sites/photos/include/config.php on line 34 Notice: Use of undefined constant DB_USER - assumed 'DB_USER' in /Users/ahoura/Sites/photos/include/config.php on line 35 Notice: Use of undefined constant DB_PASS - assumed 'DB_PASS' in /Users/ahoura/Sites/photos/include/config.php on line 36 Notice: Use of undefined constant DB_NAME - assumed 'DB_NAME' in /Users/ahoura/Sites/photos/include/config.php on line 37

我做错了什么?!?!

nr7wwzry

nr7wwzry1#

您需要在define()中引用新常量的名称

define('DB_SERVER',$db_host);
define('DB_USER',$db_user);
define('DB_PASS',$db_pass);
define('DB_NAME',$db_name);

注意事项表明PHP实际上将它们视为带引号的字符串,因为它无法找到具有这些名称的现有常量,但依赖这种做法是不好的。

hpcdzsge

hpcdzsge2#

这并没有回答这个问题,但它只是为了那些可能有这个问题的人,**当声明全局常量的变量时,请使用单引号而不是双引号。**我犯了这个错误,当它上传到服务器时,我花了一周的时间来解决这个问题。
请不要执行以下操作:

define("DB_SERVER",$db_host);
define("DB_USER",$db_user);
define("DB_PASS",$db_pass);
define("DB_NAME",$db_name);

请执行以下操作:

define('DB_SERVER',$db_host);
define('DB_USER',$db_user);
define('DB_PASS',$db_pass);
define('DB_NAME',$db_name);
ca1c2owp

ca1c2owp3#

遇到了同样的问题,在研究这些工作对我来说:
1.将你的文件config.php重命名为一个非常独特的名字,比如config123.php,一定要修改require语句。这可能是由于与PHP PEAR中的config.php文件冲突造成的。
2.需要您的文件与:
require dirname(FILE). '/config.php';
3.如果您永远不需要PEAR,请从php.ini include_path设置中删除它。
来源:https://community.apachefriends.org/f/viewtopic.php?p=204776

mqkwyuun

mqkwyuun4#

我将直接使用数据库信息到类中,而不是从不同的文件中导入。我猜这可能是XAMPP 1.6.7的最新版本的问题。无论如何,你可以尝试一下。

<?php

    class MySQLDatabase {

        private $connection;

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

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

    $database = new MySQLDatabase();
?>

相关问题