我想把我的数据库连接信息移动到一个包含文件-通常情况下,数据库连接良好,当我把它写在整个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');
?>
现在,我用上面提到的包含文件替换了数据库连接。脚本和包含文件都在同一个目录/文件夹中。然而,当我去我的页面与require_once包含在标题中,页面是空白的。我没有得到一个数据库错误,这意味着它是连接,但我没有看到我的内容。
可能是位置没有正确指定吗?两者都在file/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");
和在函数调用前使用@来抑制所有错误消息。这就是为什么你得到空白页