update set将错误的值传递给数据库

时间:2017-05-21 01:00:25

标签: php

我有下一个问题:

何时用php duplicate de +1到+2执行此查询:

"UPDATE usuario SET WRONG_LOGINS = WRONG_LOGINS + 1 WHERE USUARIO_CORREO = '" . $email . "'";

phpMyadmin的工作原理:

0 = 0 + 1 
1 = 1 + 1
2 = 2 + 1 

在我的php方法中发生这个:再多加一个数字

0 = 0 + 1
2 = 2 + 1
4 = 4 + 1
6 

为什么会发生这种情况?

我的代码:

public function usuarioLogin($email, $pass) {
        $con = $this->conectar();
        if (!$con) {
            return 0;
        } else {
            $query = "SELECT USUARIO_CODIGO, USUARIO_CORREO, COMUNA_CODIGO, EMPRESA_CODIGO, TUSUARIO_CODIGO, USUARIO_PASSWORD, "
                    . " USUARIO_NOMBRES, USUARIO_APELLIDOS, USUARIO_FNACIMIENTO, USUARIO_SEXO, USUARIO_DIRECCION,"
                    . " TEL_CELULAR, WRONG_LOGINS FROM usuario WHERE USUARIO_CORREO = '" . $email . "' and confirmed = 1 limit 1";
            $resultado = mysqli_query($con, $query);
            if ($resultado) {
                $user = $resultado->fetch_assoc();
                if (password_verify($pass, $user['USUARIO_PASSWORD'])) {
                    if ($user['WRONG_LOGINS'] <= 10) {
                        session_start();
                        session_regenerate_id();
                        $_SESSION['USUARIO_CODIGO'] = $user['USUARIO_CODIGO'];
                        $_SESSION['USUARIO_CORREO'] = $user['USUARIO_CORREO'];
                        $_SESSION['COMUNA_CODIGO'] = $user['COMUNA_CODIGO'];
                        $_SESSION['EMPRESA_CODIGO'] = $user['EMPRESA_CODIGO'];
                        $_SESSION['TUSUARIO_CODIGO'] = $user['TUSUARIO_CODIGO'];
                        $_SESSION["USUARIO_NOMBRES"] = $user["USUARIO_NOMBRES"];
                        $_SESSION["USUARIO_APELLIDOS"] = $user["USUARIO_APELLIDOS"];
                        $_SESSION["USUARIO_FNACIMIENTO"] = $user["USUARIO_FNACIMIENTO"];
                        $_SESSION["USUARIO_SEXO"] = $user["USUARIO_SEXO"];
                        return 1;
                    } else {

                        return 2;
                    }
                } else {
                    $this->registerWrongLoginAttemp($email);
                    return 3;
                }
            }
            $con->close();
        }
    }

public function registerWrongLoginAttemp($email) {
        //el update en vez de suma 1 suma 2
        $con = $this->conectar();
        if ($con) {
            $query = "UPDATE usuario SET WRONG_LOGINS = WRONG_LOGINS + 1 WHERE USUARIO_CORREO = '" . $email . "'";
            mysqli_query($con, $query);
        }
        $con->close();
    }

之前我有过这个代码(问题是我点击按钮#summitForm执行提交loginForm。错误)

$(document).ready(function () {

$("#submitForm").on('click', function () {
    $("#loginForm").submit();
     });

    $("#loginForm").on("submit", function () {
                  var postEmail = $("#email").val();
                  var postPass = $("#password").val();
                  var parametros = {"email": postEmail, "password": postPass};
                  var formURL = $(this).attr("action");
                  $.ajax({
                       url: formURL,
                       type: "POST",
                      data: parametros
                        });
                    });


                });

解决方案是将所有代码放在事件中,单击#submitForm:

$("#submitForm").on('click', function () {
                        var postEmail = $("#email").val();
                        var postPass = $("#password").val();
                        var parametros = {"email": postEmail, "password": postPass};
                        var formURL = $(this).attr("action");
                        $.ajax({
                            url: formURL,
                            type: "POST",
                            data: parametros
                        });
                        $("#loginForm").submit();
                    });

0 个答案:

没有答案