代码之家  ›  专栏  ›  技术社区  ›  Rashad Abdo

如何根据用户的电子邮件获取主键?PHP和MYSQL

  •  0
  • Rashad Abdo  · 技术社区  · 7 年前

    这是用户登录时的代码:

    if (isset($_POST['login_user'])) {
      $email = mysqli_real_escape_string($db, $_POST['Email']);
      $password = mysqli_real_escape_string($db, $_POST['Password']);
    
      if (empty($email)) {
        array_push($errors, "email is required");
      }
      if (empty($password)) {
        array_push($errors, "Password is required");
      }
    
      if (count($errors) == 0) {
        $password = md5($password);
        $query = "SELECT * FROM organisers WHERE email='$email' AND password='$password'";
        $results = mysqli_query($db, $query);
    
        if (mysqli_num_rows($results) == 1) {
          $_SESSION['email'] = $email;
          $_SESSION['success'] = "You are now logged in";
          header('location: loggedInInterface/loggedIN.php');
        }else {
            array_push($errors, "Wrong email/password combination");
        }
      }
    }
    

    别担心,我稍后会清理我的代码。 如您所见,他们将使用电子邮件和密码登录。如何获取用户主键值?

    注意:主键列名='OrganizerId'

    3 回复  |  直到 7 年前
        1
  •  0
  •   Tom Ford    7 年前

    在“if”语句后包含此内容,然后您可以访问它:

    $primaryKey = $row['nameOfPrimaryKeyColumn'];
    
        2
  •  0
  •   Mohini    7 年前

    $行=mysqli\u fetch\u行($结果); echo$行[OrganizerId];

        3
  •  0
  •   Rashad Abdo    7 年前

    $行=mysqli\u fetch\u assoc($结果); $primaryKey=$行[组织ID];

    出于某种原因,您必须使用“mysqli\u fetch\u assoc”而不是“mysqli\u fetch\u row”。