【发布时间】:2015-05-20 15:55:49
【问题描述】:
所以,我一直在写一些 PHP,我正在从我的数据库中获取一些数据以进行输出。我像普通人一样使用函数,但由于某种原因,函数中被拒绝的变量显然未声明?
这是我的代码:
function fetchUserData($localUser_id) {
include_once("../../../conConfig/connectToDatabase.php");
$dataQuery = mysqli_query($dbConnect, "SELECT users.emailAddress, userInfo.fullName, userInfo.initials, userInfo.maxWorkspaces FROM users INNER JOIN userInfo ON userInfo.ID = users.ID WHERE users.ID = ".$localUser_id."");
$queryResult = mysqli_fetch_array($dataQuery, MYSQLI_ASSOC);
$db_dash_userName = $queryResult["fullName"];
$db_dash_userEmail = $queryResult["emailAddress"];
$db_dash_userIcon = "initials";
$db_dash_userMaxW = $queryResult["maxWorkspaces"];
$db_dash_userInit = $queryResult["initials"];
echo $db_dash_userName.$db_dash_userEmail.$db_dash_userIcon.$db_dash_userMaxW.$db_dash_userInit."<br><br><br>";
}
//$localUser_id = $_SESSION["user_id"];
$localUser_id = 1;
fetchUserData($localUser_id);
echo $db_dash_userName.$db_dash_userEmail.$db_dash_userIcon.$db_dash_userMaxW.$db_dash_userInit;
它可能有什么问题?它返回一个值,由函数内部的 echo-ing 输出,但最终的“echo”并未输出它们。
是的,我已经尝试过“return variable.variable...”,但这仍然不能解决问题。
提前致谢。
【问题讨论】:
-
我认为你需要从函数中返回值而不是回显它们。
-
你需要了解变量作用域。
-
我试过“返回变量...”,但问题仍然存在...
-
在您的情况下,您最好将函数插入数组中,然后返回该数组。然后,您应该能够在调用函数后从返回的数组中访问这些变量。
-
警告:使用
mysqli时,您应该使用参数化查询和bind_param将用户数据添加到您的查询中。 请勿使用字符串插值来完成此操作,因为您将创建严重的SQL injection bugs。 从不将$_POST数据直接放入查询中。