MySQL / PHP检查登录详细信息

时间:2011-12-06 00:31:44

标签: php mysql login

我无法让此SQL命令正常工作。 (我知道这段代码不安全,我只需要让它先工作。) 当我运行此操作时,我收到错误:“where子句”中的“未知列'用户名'”

$login_username =   $_POST['username'];
$login_password = $_POST['password'];

$lc = "SELECT * FROM user WHERE username = $login_username AND password = $login_password";
$lcr = mysql_query($lc);
$lcgr = mysql_num_rows($lcr)or die(mysql_error());

5 个答案:

答案 0 :(得分:1)

如果您收到该错误,则表示您的用户表中没有名为username的列。

其次,您的代码向SQL Injection开放。您应该验证并保护$ _POST值。

此外,您应该对die而不是mysql_query执行mysql_num_rows检查。

答案 1 :(得分:1)

尝试使用查询中的引号:

$lc = "SELECT * FROM user WHERE username = '$login_username' AND password = '$login_password'";

答案 2 :(得分:0)

您的查询中的username似乎不是正确的列名。你能查一下吗?

答案 3 :(得分:0)

您的“用户”表格中是否有“用户名”列?试试DESC user,这样您就可以确定表格中的字段名称,并相应地修改您的查询。

您还需要在引号中封装您的字符串(可能是用户名和密码是字符串)。

您已经提到知道您的代码不安全所以我会留下任何注释评论:)

答案 4 :(得分:0)

首先 - 你有一个名为"用户名"的列在数据库的用户表中?

第二个=将$ login_username和$ login_password放在单引号中,因为它们是字符串,对吗?

相关问题