Mysql
 sql >> база данни >  >> RDS >> Mysql

влезте с потребителско име или имейл адрес в php

Параметърът за вход е един и същ както за имейл, така и за потребителско име. Не е точно неправилно, ако имате едно поле за вход, което приема и двете.

Можете да поставите условието в самата заявка, ако не сте сигурни дали е имейл или потребителско име.

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

Редактиране: Подобно на PDO решение е много по-предпочитано в днешно време, тъй като горното е обект на SQL инжекция. Логиката остава същата, но трябва да изглежда така:

$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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Каква е най-добрата практика за ограничаване на конкретни страници до влезли потребители само в Codeigniter?

  2. MySQL/MariaDB - подреждане по вътрешна подзаявка

  3. Как да използвате MySQL Rollup

  4. Как да добавя низ към стойност на колона в MySQL?

  5. LAST_INSERT_ID( ) връща няколко реда от 0?