PDO通过会话查询数据库

时间:2014-04-10 12:18:43

标签: php session pdo

我正在尝试从我的数据库调用数据以显示在用户个人资料上。我在check用户文件中正确地运行了用户会话。但是下面的代码显然不是;检索任何东西,因为它不会在我的HTML中的echo语句中回显。有人可以帮忙吗???

require_once 'check.php';

if(isset($_GET['full_name'])){
    $full_name = $_GET['full_name'];
    $username = $_GET['username'];
    $country = $_GET['country'];
    $bio = $_GET['bio'];
    $stmt = $dtb->prepare(" SELECT full_name=:full_name, username=:username, country=:country, bio=:bio FROM users WHERE id=:log_user_id AND username=:log_uname LIMIT 1");
    $arr = array(
        "full_name"     =>  $full_name,
        "username"      =>  $username,
        "bio"           =>  $bio,
        "country"       =>  $country,
        "log_user_id"   =>  $log_user_id,
        "log_uname"     =>  $log_uname
    );
    ArrayBinder($stmt,$arr);
    try{
        $stmt->execute();
        $dtb = null;
        exit();
    }
    catch(PDOException $e){
        echo $e->getMessage();
        $dtb = null;
        exit();
    }
}

1 个答案:

答案 0 :(得分:0)

因为从你称之为“代码”的混乱中告诉你要做什么是绝对不可能的 - 所以,只是为了让你了解根据存储在会话中的id从数据库获取用户详细信息所需的代码:

$sql = "SELECT full_name,username,country,bio FROM users WHERE id=?";
$stmt = $dtb->prepare($sql);
$stmt->execute([$_SESSION['log_user_id']]);
$user = $stmt->fetch();

这里在$ user数组中你应该有名称bio和stuff。检查会话变量名称