我的php脚本是在函数外部而不是在函数内部。
$uid = $_SESSION['user_id'];
function getUserName($conn) {
$sql = "SELECT * FROM `tbl_user` WHERE `user_id` ='".$uid."' ";
$row = $conn->query($sql)->fetch_array();
return $row["user_name"];
}
无法在错误的地方找到它。
答案 0 :(得分:1)
不要使用全局变量。这是邪恶的。
将用户ID作为参数传递给函数:
function getUserName($conn, $uid) {
$sql = "SELECT * FROM `tbl_user` WHERE `user_id` ='".$uid."' ";
$row = $conn->query($sql)->fetch_array();
return $row["user_name"];
}
echo getUserName($conn, $_SESSION['user_id']);
答案 1 :(得分:0)
您可以做的最好的事情是avoid globals,只需将uid
作为参数传递:
$uid = $_SESSION['user_id'];
$username = getUserName($conn, $uid);
function getUserName($uid, $conn) {
$sql = "SELECT * FROM `tbl_user` WHERE `user_id` ='".$uid."' ";
$row = $conn->query($sql)->fetch_array();
return $row["user_name"];
}
阅读http://php.net/manual/en/language.variables.scope.php以了解PHP中的变量范围
答案 2 :(得分:0)
你需要调用函数来处理函数内的代码
答案 3 :(得分:0)
试试这个
function getUserName($uid, $conn) {
// code here
}