php不会从另一个文件导入变量
我正在使用登录/注册系统和mysql开发一个云系统,但问题是php没有导入我包含的变量 这是我的配置文件:php不会从另一个文件导入变量,php,mysql,Php,Mysql,我正在使用登录/注册系统和mysql开发一个云系统,但问题是php没有导入我包含的变量 这是我的配置文件: <?php // Connection details $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "database"; ?> require("/classes/config.class.php"); 当我尝试回显配置中定义的变量时,会出现以下错误:
<?php
// Connection details
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "database";
?>
require("/classes/config.class.php");
当我尝试回显配置中定义的变量时,会出现以下错误:
注意:第2行C:\xampp\htdocs\index.php中的未定义变量:servername
我在本地计算机上使用xampp,它有php版本5.5.30
编辑:php的第一行,来自注释
<?php
// Include classes require("/classes/user.class.php");
require("/classes/password.class.php");
// Include configuration require("/classes/config.class.php");
echo $servername; echo $username; echo $password; echo $dbname;
在包含变量之前,应检查是否尝试使用变量
还要检查文件是否正确包含(require();
在php标记中,并且没有注释掉(//require
)在包含它之前,您应该检查是否尝试使用变量
还要检查文件是否正确包含(require();
在php标记中,并且没有注释(//require
)我写了一个答案,因为我不能在注释中键入回车
您在index.php中的代码(如上所述):
- 阅读更多关于
我写答案是因为我不能在注释中键入回车
您在index.php中的代码(如上所述):
- 阅读更多关于
如果这不起作用,您可能只是在错误的范围内
可能是您的include在函数中,那么您需要将变量的设置更改为:
$GLOBALS['servername'] = 'localhost';
或者您正在函数/类中使用变量。然后你必须使用全局关键字
myFunction() {
//$servername is not defined here
global $servername;
// now $servername is defined and the global var is used
}
但是我认为你应该做一些更有用的事情:使用常量
define('SERVERNAME','localhost');
然后获取常量(在任何范围内):
如果这不起作用,您可能只是在错误的范围内
可能是您的include在函数中,那么您需要将变量的设置更改为:
$GLOBALS['servername'] = 'localhost';
或者您正在函数/类中使用变量。然后你必须使用全局关键字
myFunction() {
//$servername is not defined here
global $servername;
// now $servername is defined and the global var is used
}
但是我认为你应该做一些更有用的事情:使用常量
define('SERVERNAME','localhost');
然后获取常量(在任何范围内):
Config.php文件:
$database_host = "host";
$database_user = "user";
$database_pass = "pass";
$database_name = "name";
要从中调用配置变量的其他文件:
require_once 'Config.php';
$db = mysqli_connect($database_host, $database_user, $database_pass, $database_name);
Config.php文件:
$database_host = "host";
$database_user = "user";
$database_pass = "pass";
$database_name = "name";
要从中调用配置变量的其他文件:
require_once 'Config.php';
$db = mysqli_connect($database_host, $database_user, $database_pass, $database_name);
检查错误日志。您是在web服务器上执行此操作的吗?@JayBlanchard在我的本地计算机上没有xampp,因此您试图访问require行之前的变量?您能显示index.php
的第一行吗?错误显示为“第2行”:那么当您导入config.class.php
时?在第1行,在/
旁边是注释符号:忽略以下文本。删除/
和要求之前的以下文本。更好:在检查错误日志后返回回车。您是在web服务器上执行此操作的吗?@JayBlanchard在我的本地计算机上没有xampp,因此您试图访问require行之前的变量?您能显示index.php
的第一行吗?错误显示为“第2行”:那么当您导入config.class.php
时?在第1行,在/
旁边是注释符号:忽略以下文本。删除/
和要求之前的以下文本。更好:在