require_once 问题,当调用另一个文件中包含的函数时
Posted
技术标签:
【中文标题】require_once 问题,当调用另一个文件中包含的函数时【英文标题】:require_once issues, when calling functions included in another file 【发布时间】:2011-12-23 04:53:30 【问题描述】:这是我的问题:
index.php 内容:
require_once('phpcommonscripts/connections/connection.php');
require_once('phpcommonscripts/functions/logging.php');
Func_LogToDB($logType, $actionType, $errMsg, $varUser);
connection.php 内容:
$hostname_MYDB = "localhost";
$database_MYDB = "MYDB";
$username_MYDB = "USER";
$password_MYDB = "PASS";
$MYDB = mysql_pconnect($hostname_MYDB, $username_MYDB, $password_MYDB) or trigger_error(mysql_error(), E_USER_ERROR);
logging.php 内容:
function Func_LogToDB($lType, $lAction, $lMessage, $lUser)
mysql_select_db($database_MYDB, $MYDB);
错误信息:
注意:未定义变量:第 22 行 /home/notes/public_html/phpcommonscripts/functions/logging.php 中的 database_MYDB
(第 22 行是 mysql_select_db() 行...)
我在这里做错了吗?
【问题讨论】:
你应该阅读variable scope with PHP 【参考方案1】:我在这里做错了吗?
是的,你是:)
那些变量$database_MYDB, $MYDB
不在同一个scope。
您不能从函数内部访问在函数外部定义的变量。
【讨论】:
@user1032650:您可以将它们设为global
,但不建议这样做。
我在 logging.php 中添加了这两行:global $database_NOTES;全球 $NOTES;现在工作正常。为什么不告诉我我做了什么?
@user1032650:有关为什么 global
被认为是不良做法的更多信息,请参阅:***.com/questions/1557787/…以上是关于require_once 问题,当调用另一个文件中包含的函数时的主要内容,如果未能解决你的问题,请参考以下文章
「PHP」include()include_once()require()require_once()的用法及区别