数据库连接不作为包含文件工作

Database Connection not Working as Include File

我想将我的数据库连接信息移动到包含文件中 - 通常,当我将其写成整个 php header 时,数据库连接正常:

   <?php

        define('DB_LOCATION', 'x');
        define('DB_USERNAME', 'x');
        define('DB_PASS', 'x');
        define('DB_NAME', 'x');

        $dbc = mysqli_connect(DB_LOCATION, DB_USERNAME, DB_PASS, DB_NAME)
            or die('Error connecting to database');

        $error_message= "";

        $user_name = $_POST['user'];
        $user_password= $_POST['pass'];

        if (isset($_POST['submit'])) {

            ......
        }

在这里,我将此信息作为包含文件移动到它自己的文件中。它被保存为 (.php) 文件。

  <?php

        define('DB_LOCATION', 'x');
        define('DB_USERNAME', 'x');
        define('DB_PASS', 'x');
        define('DB_NAME', 'x');

        $dbc = mysqli_connect(DB_LOCATION, DB_USERNAME, DB_PASS, DB_NAME)
            or die('Error connecting to database');


    ?>

现在,我用上面提到的包含文件替换了数据库连接。脚本和包含文件都在同一个 directory/folder 中。但是,当我使用包含在 header 中的 require_once 进入我的页面时,该页面是空白的。我没有收到数据库错误,这意味着它正在连接,但我也没有看到我的内容。

会不会是位置没指定好?两者都在文件 /LESSON 下。我也尝试使用 @require_once 但它没有帮助。任何投入将不胜感激。

<?php

require_once("/LESSON5/Lesson_5_DB_Connection.php");

?>

<?php 

    session_start();

    $error_message= "";

    $user_name = "";

    ......
?>

如果您的两个文件都在同一目录中,则无需提供目录名称,只需提供文件名称即可。

在你的情况下使用

require_once("Lesson_5_DB_Connection.php");

并且如果您在函数调用前使用 @ 来抑制所有错误消息。 这就是为什么你得到空白页