未知栏目'未知'在' where子句'

时间:2014-12-30 11:04:55

标签: php mysql

当用户登录时,我正在尝试查找他们的信息,以便我可以将其显示给他们,然后我将允许他们更新他们的信息。

我一直收到一个未知的列错误,这是我在where子句中的会话变量,但我不确定原因。下面的代码显示了我正在使用的查询。

$query="SELECT * FROM users WHERE username = ". $_SESSION['login_user'];

2 个答案:

答案 0 :(得分:4)

最好的方法是在SQL中使用带login占位符的Prepared Statement,并将其替换为会话中的值。

另一种非生产标准方法是将登录值括在单引号中。如果没有引号,SQL引擎会认为登录名是列名。

答案 1 :(得分:1)

如果您的列username是字符串类型,则应添加'进行过滤,如下所示:

$query="SELECT * FROM users WHERE username = '". $_SESSION['login_user'] + "'";