代码之家  ›  专栏  ›  技术社区  ›  Saladin Akara

PHP define()似乎无法处理include()

  •  11
  • Saladin Akara  · 技术社区  · 14 年前

    <?php
    define("DB_HOST","localhost");
    define("DB_USER","root");
    define("DB_PASS","password");
    define("DB_NAME","database");
    ?>
    

    然后我在索引文件中这样使用它们:

    include('definitions.php');
    include('class_lib.php');
    
    $testing = new databaseServer();
    
    $testing->connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);
    

    我在databaseServer类中使用的函数是:

        function connect($host,$user,$pw,$db) {
            $this->con = mysql_connect($host,$user,$pw);
            if (!$this->con) {
                die('Could not connect: ' . mysql_error());
                }
            $this->selectDb($db);
            }
    
        function selectDb($database) {
            $this->db = mysql_select_db($database,$this->con);
            if (!$this->db) {
                echo "Could not Select database: " . mysql_error();
                }
            }
    

    你知道为什么这样不行吗?我也尝试过将definitions文件放入class_lib文件的include中,但仍然不起作用。

    6 回复  |  直到 9 年前
        1
  •  4
  •   Pekka    14 年前

    这应该很管用,我从来没见过不管用。

    • 100%确保include的顺序正确(需要首先加载defines)

    • 对“中的常量值进行测试输出”definitions.php“文件和索引文件

    • 100%确保调用正确的文件

        2
  •  2
  •   user3092033    11 年前

    我刚启用了,它就开始工作了。

        3
  •  1
  •   Martin Pfeffer    7 年前

    工作

    <?php
    define('KLINGON_SEPARATOR', '');
    ?>
    

    <?php
    define('KLINGON_SEPARATOR', '');
    

    傻。。。IDEA说“多余的结束标签”

        4
  •  0
  •   andrew    14 年前

    叫它吧config.php

    if(!$link)
    {
    
    die('Failed to connect to server: ' . mysql_error());
    
    }
    
    $db = mysql_select_db(DB_DATABASE);
    if(!$db)
    {
    
    die("Unable to select database");
    
    }
    
    ?>
    

    然后包括(“config.php"); 在你的页面上

        5
  •  0
  •   Richard Tyler Miles    4 年前

    我今天有一个类似的问题,它似乎可能是一个无效的字符代码在文件的结尾。我在烟囱上发现了这个 PHP define is not registering constants 他的解决办法(去掉多余的空格)对我有用。

        6
  •  -1
  •   David Bohunek Frankie4f1ngers    10 年前

    define 目标文件的函数,并将其传输到源文件(在您的情况下)translation.php)准备工作!

    像这样,在接收字符串参数时带有define函数的错误不会发生,您将包括已经实现的常量。

        7
  •  -2
  •   Eric    9 年前

    其中的关键是使用constant()函数从定义的常量中提取值:

    echo constant("DB_USERNAME");