Php 函数将不回显
这就是函数Php 函数将不回显,php,function,echo,Php,Function,Echo,这就是函数 function UsernameFun($ULN) { if($ULN){ if(empty($ULN->Nickname)){ return $ULN->Username; } else { return $ULN->Nickname; } } } $ULN这是什么 if(isset($_SESSION['Username'])) { $LoggedIn = mysql_query("SE
function UsernameFun($ULN) {
if($ULN){
if(empty($ULN->Nickname)){
return $ULN->Username;
} else {
return $ULN->Nickname;
}
}
}
$ULN这是什么
if(isset($_SESSION['Username'])) {
$LoggedIn = mysql_query("SELECT * FROM Users WHERE Username='".$_SESSION['Username']."'");
$ULN = mysql_fetch_object($LoggedIn);
}
我要把这个交给echo
echo"Logged in as ".UsernameFun($ULN->Username);
如果你还需要知道什么,我很乐意告诉你,但到目前为止,我不知道你还需要知道什么
我的意思是,当我把
echo"Logged in as ".UsernameFun($ULN->Username);
只有“登录身份”会回显,用户名或昵称不会回显。由于您只向函数
UsernameFun($ULN->Username)
发送UsernameFun($ULN->Username)
,因此它是函数中唯一可用的值。所以它试图找到$ULN->Username->Username
和$ULN->Username->昵称
。尝试更改代码以仅发送对象$ULN
-
echo "Logged in as ".UsernameFun($ULN);
看一看带有函数和函数参数的变量范围。这将有助于理解为什么作为函数参数传递的内容是函数中唯一可用的值 您的函数声明在哪里?您是否检查过您的查询是否返回任何内容。尝试使用mysql\u num\u row
mysql\u*
函数已被弃用,应替换为mysqli\u*
函数。很抱歉,这是我尝试制作的第一个函数,我将如何使用mysqli而不是mysql?@Kolink请分享正确的推理或建议的编辑。我认为这与范围无关,更确切地说是通过了什么。基本上,除了第一句之外,我都同意。@Kolink谢谢你的澄清。我已经改写了我的答案。变量范围可能不是确切的问题,但是理解它可能有助于OP了解为什么只传递对象的一部分会阻止他们访问函数中对象的其余部分。