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

时间:2015-05-25 18:18:40

标签: php mysql include

我想将我的数据库连接信息移动到包含文件 - 通常,当我在整个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');

        $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');


    ?>

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

可能是因为没有正确指定位置吗?两者都在档案/ LESSON。我也尝试过使用@require_once但没有用。任何投入将不胜感激。

<?php

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

?>

<?php 

    session_start();

    $error_message= "";

    $user_name = "";

    ......
?>

1 个答案:

答案 0 :(得分:1)

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

在您的情况下使用

require_once("Lesson_5_DB_Connection.php");

如果您在函数调用前使用@来禁止显示所有错误消息。 这就是为什么你得到空白页