sql >> Database teknologi >  >> RDS >> Mysql

log ind med brugernavn eller e-mailadresse i php

Login-parameteren er den samme for både e-mail og brugernavn. Ikke ligefrem forkert, hvis du har en enkelt login-boks, der accepterer enten.

Du kan indsætte betingelsen i selve forespørgslen, hvis du ikke er sikker på, om det er en e-mail eller et brugernavn.

$login=$_REQUEST['login'];
$query = "select * from  user_db where ( username='$login' OR email = '$login') and password='$password'"

Rediger: En PDO-lignende løsning er meget mere foretrukket i dag, da ovenstående er underlagt SQL-injektion. Logikken forbliver den samme, men du vil have det til at se sådan ud:

$query = "
    SET @username = :username
    SELECT * FROM user_db
       WHERE ( username = @username OR email = @username) 
       AND password = :password
";

$statement = $pdoObject->prepare($query);
$statement->bindValue(":username", $login, PDO::PARAM_STR);
$statement->bindValue(":password", $password, PDO::PARAM_STR);
$statement->execute();


  1. JSP/Servlets:Hvordan uploader jeg en zip-fil, pakker den ud og udpakker CSV-filen

  2. SQL-sortering følger ikke gruppe for sætning, bruger altid primærnøgle

  3. Oracle.DataAccess.Client.OracleException ORA-03135:forbindelse mistet kontakt

  4. MySQL Statement Cancellation Timer kunne ikke stoppe