[mysql]不能在 URL 中获取用户名

标签: MySQL URL PHP
发布时间: 2017/1/9 22:50:51
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

所以我试图使公共配置文件。所以我从数据库和射击回得到结果。这里是我的代码

$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:

$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)) ;
官方微信
官方QQ群
31647020