gpt4 book ai didi

php - 文件包含可能存在 PHP 范围问题?

转载 作者:搜寻专家 更新时间:2023-10-30 22:17:22 25 4
gpt4 key购买 nike

我目前正在重写我的一个旧 PHP 脚本,以便为将来的更新构建良好的代码结构。

我正在尝试做的一件事是创建一个配置文件 - 以便可以通过编辑一个文件轻松更改设置。

文件源代码:functions.php

function ConnectToDB() {

//database configurations...
$host = "localhost";
$dbuser = "root";
$dbpass = "";
$tblname = "parents";

$connection = mysql_connect($host,$dbuser,$dbpass);

if (!$connection) {
echo 'Could not connect to the database. Please contact the administrator for more information.';
}

// select the db
$db_selected = mysql_select_db($tblname, $connection);

if (!$db_selected) {
echo 'Could not select the parents evening table. Please contact the administrator for more information.';
return false;
}else{
return true;
}

}

文件:config.php

<?php

//database configurations...
$host = "localhost";
$dbuser = "root";
$dbpass = "";
$tblname = "parents";

?>

这是我的新代码:文件:functions.php

function ConnectToDB() {

include('inc/config.php');

global $host; //needed becuase the scope of the variable throws an error otherwise.
global $dbuser; //needed becuase the scope of the variable throws an error otherwise.
global $dbpass; //needed becuase the scope of the variable throws an error otherwise.
global $tblname; //needed becuase the scope of the variable throws an error otherwise.

$connection = mysql_connect($host,$dbuser,$dbpass);

if (!$connection) {
echo 'Could not connect to the database. Please contact the administrator for more information.';
}

// select the db
$db_selected = mysql_select_db($tblname, $connection);

if (!$db_selected) {
echo 'Could not select the parents evening table. Please contact the administrator for more information.';
return false;
}else{
return true;
}

}

我的旧代码过去工作得很好,但是现在我已经将变量更改为不同的文件,我的应用程序一直输出“无法选择 parent 的晚餐 table 。请联系管理员以获取更多信息。” - 这意味着我的应用程序没有正确连接到数据库。

有人知道我的代码有什么问题吗?起初我认为这是一个范围问题,但我就是找不到我在这里做错了什么。

提前感谢您的任何回复。

最佳答案

您不需要 global 关键字。 include 直接在函数中定义这些变量。如果包含在函数之外,那么您将需要全局关键字。

关于php - 文件包含可能存在 PHP 范围问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9796546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com