PHP - require之后的未声明变量

时间:2013-03-10 22:09:59

标签: php

我正在尝试创建一个php网站,但我有一个问题,我不能在包含的文件中使用包含的变量!

的index.php

<?php
require 'core/init.php';
?>

的init.php

<?php
require 'config.php';

require 'db/connect.php';
?>

的config.php

<?php
// Config
// The Title of the site
$site_title = 'php-site';
$site_desc = 'A awesome PHP site!';
$site_keywords = 'php, html5, css3, awesome';
$site_author = 'erty5000';

// Database - MySQL
// MySQL host
$db_host = 'localhost';

// MySQL username
$db_username = 'myuser';

// MySQL password
$db_password = 'mypassword';

// MySQL database
$db_database = 'mydb';

// Error to display at the top of the page if a connection problem occured
$db_connect_error = 'Sorry, we\'re experiencing connection problems.';
?>

connect.php

<?php
mysql_connect($db_host, $db_username, $db_password) or die($db_connection_error);
mysql_select_db($db_database) or die($db_connection_error);
?>

我得到的错误是

Notice: Undefined variable: db_host in C:\xampp\htdocs\w\php-site\core\db\connect.php on line 2

Notice: Undefined variable: db_username in C:\xampp\htdocs\w\php-site\core\db\connect.php on line 2

Notice: Undefined variable: db_password in C:\xampp\htdocs\w\php-site\core\db\connect.php on line 2

Warning: mysql_connect(): Access denied for user ''@'localhost' (using password: NO) in C:\xampp\htdocs\w\php-site\core\db\connect.php on line 2

Notice: Undefined variable: db_connection_error in C:\xampp\htdocs\w\php-site\core\db\connect.php on line 2

很抱歉这么长的帖子,但我真的希望有人可以帮助我!

1 个答案:

答案 0 :(得分:1)

您似乎在包含路径或config.php目录中有另一个名为index.php的文件。解释in the documentation

  

根据给定的文件路径包含文件,如果没有给出,则指定include_path。如果在include_path中找不到该文件,include将最终检查调用脚本自己的目录和当前工作目录,然后再失败。

通过指定文件的绝对路径,即:

,可以轻松解决此问题
require(__DIR__ .'/config.php');