当从MYSQL读取时,只显示$_SESSION["ID"];


When reading from MYSQL only displays $_SESSION["ID"];

我试图从数据库检索用户的用户名。我正在从用户成功登录站点后设置的$_SESSION["ID"]中搜索用户

当我试图显示用户名时,它显示$_SESSION["ID"]

 <?php
include ("db_safe.php");
$user_ID = $_SESSION["ID"];
$stmt_user_profile = $dbh->prepare("SELECT * FROM users WHERE user_ID LIKE :user");
$stmt_user_profile->bindValue(':user', $user_ID);
$stmt_user_profile->execute();
$result_user_profile = $stmt_user_profile->fetch(PDO::FETCH_ASSOC);
foreach ($result_user_profile as $user_info){
    $profile_username = $user_info["username"];
    $profile_email = $user_info["email"];
}
?>
<h3>Hello <?php echo $profile_username; ?> </h3>

你知道发生了什么事以及如何解决它吗?

显示MySQL表

//请尝试下面的代码,希望能对你有所帮助。

<?php
include ("db_safe.php");
$user_ID = $_SESSION["ID"];
$stmt_user_profile = $dbh->prepare("SELECT * FROM users WHERE user_ID LIKE ?");
$stmt_user_profile->execute(array($user_ID));
$allusers = $stmt_user_profile->fetchAll();
foreach ($allusers as $user)
{
     $profile_username = $user["username"];
     $profile_email = $user["email"];
}
?>
<h3>Hello <?php echo $profile_username; ?> </h3>

试试:

$stmt_user_profile->bindParam(':user', $user_ID, PDO::PARAM_STR);

代替bindValue.