if (! isset($_GET['user_id'])) {
$query = "
SELECT
username, first_name, last_name, gender, birthdate, city, state, picture
FROM
mismatch_user
WHERE
user_id = '" . $_SESSION['user_id'] . "'";
}
这是我用来显示登录用户信息的代码。我将如何对其进行编码,以便您可以在同一个profile.php脚本中查看其他配置文件?
答案 0 :(得分:0)
我不确定问题是什么。以下查询怎么样?
$query = "SELECT username, first_name, last_name, gender, birthdate, city, state, picture FROM mismatch_user WHERE user_id = '" . mysql_real_escape_string($_GET['user_id']) . "'";
请注意,您的代码容易受到SQL注入攻击。始终使用mysql_real_escape_string()
来转义发送到数据库的用户输入。
答案 1 :(得分:0)
我假设$ _GET ['user_id']在你想要查看另一个用户的个人资料的情况下会有一个值,如果没有指定user_id,则应该显示登录用户的个人资料:
isset($_GET['user_id']) ?
$user_id = (int) $_GET['user_id'] :
$user_id = $_SESSION['user_id'];
$query = "
SELECT
username, first_name, last_name, gender, birthdate, city, state, picture
FROM
mismatch_user
WHERE
user_id = '" . $user_id . "'";
为$ _GET赋值转换为int将阻止SQL注入。