无法在网址中获取用户名

时间:2014-06-25 19:46:40

标签: php mysql database url pdo

所以我正在尝试制作公开的个人资料。所以我从数据库中获取结果并将其拍摄回来。这是我的代码

$username = $con->prepare("SELECT username FROM users WHERE email=:email");
$username->bindValue(':email', $email, PDO::PARAM_STR);
$username->execute();
$userurl = $_GET['username'];

出于某种原因,我没有收到任何回报。也没有错误。任何帮助都会很棒。基本上我想要做的就是获得example.com/profile?username=joe

1 个答案:

答案 0 :(得分:1)

$stmt = $con->prepare("SELECT username FROM users WHERE email=:email");
$stmt->bindValue(':email', $email, PDO::PARAM_STR);
$stmt->execute();

$row = $stmt->fetch();
$username = $row['username'];


$userurl = "example.com/profile?username=$username";
header("Location: $userurl") ;

您执行了查询但从未提取数据,$_GET没有按照您的想法执行操作,而是要获取查询字符串值。

正如@Rangad和@David在下面的评论中指出的那样,您应该使用http_build_query生成查询字符串:

...
$stmt->execute(); 
$row = $stmt->fetch();
header('Location: example.com/profile?'.http_build_query($row)) ;