我的数据库INSERT
无效。
这是我的代码:
<?php
if(isset($_POST['submit'])) {
if(empty($row['login']) AND empty($row['password'])) {
echo "Sorry, but that username and/or password you entered is
incorrect. Please try again.";
$ipaddress = $_SERVER["REMOTE_ADDR"];
$login = mysqli_real_escape_string($conn, $_POST['login']);
$sql_login_tries = mysqli_query($conn,("Insert into login_attempts
('login','ip','tries','last_login')
Values ('$login','$ipaddress','1',Now())"));
$sql_get_tries = mysqli_query($conn,("SELECT * FROM login_attempts
where login = '$login'"))
or die(mysqli_error($conn));
$number_of_tries = mysqli_num_rows($sql_get_tries);
echo $number_of_tries;
if (($number_of_tries) > 2) {
header ("Location: /example.com/access_denied");
exit() ;
}
}
}
}
?>
我在代码中的各个点使用了“echo”。我注意到:一切正常,我尝试将INSERT
这些值放入表“login_attempts”;
P.S。我确实设置了数据库连接参数;我根本不想在这里包括它们。
P.P.S。重定向到“access_denied”页面纯粹是出于测试目的。实际上,如果用户尝试登录3次失败,我计划激活 CAPTCHA 功能。
更新错误消息
您的SQL语法有错误。检查手册中使用的语法是否正确:(login,ip,tries,last_login)值('mjackson','111.11.11.111','1',NOW'在第1行
答案 0 :(得分:1)
您不应在插入查询中的字段名称周围使用单引号。请改用反引号:
Insert into login_attempts
(`login`,`ip`,`tries`,`last_login`)
Values ('$login','$ipaddress','1',Now())
答案 1 :(得分:0)
请注意。您需要从login_attempts中删除旧数据