当用户登录时,我正在尝试查找他们的信息,以便我可以将其显示给他们,然后我将允许他们更新他们的信息。
我一直收到一个未知的列错误,这是我在where子句中的会话变量,但我不确定原因。下面的代码显示了我正在使用的查询。
$query="SELECT * FROM users WHERE username = ". $_SESSION['login_user'];
答案 0 :(得分:4)
最好的方法是在SQL中使用带login
占位符的Prepared Statement
,并将其替换为会话中的值。
另一种非生产标准方法是将登录值括在单引号中。如果没有引号,SQL引擎会认为登录名是列名。
答案 1 :(得分:1)
如果您的列username
是字符串类型,则应添加'
进行过滤,如下所示:
$query="SELECT * FROM users WHERE username = '". $_SESSION['login_user'] + "'";