Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

đăng nhập bằng tên người dùng hoặc địa chỉ email trong php

Tham số đăng nhập giống nhau cho cả email và tên người dùng. Không chính xác sai nếu bạn có một hộp đăng nhập duy nhất chấp nhận.

Bạn có thể đặt điều kiện trong chính truy vấn nếu bạn không chắc đó là email hay tên người dùng.

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

Chỉnh sửa: Một giải pháp giống như PDO ngày nay được ưa thích hơn nhiều vì giải pháp ở trên là đối tượng của SQL injection. Logic vẫn như cũ, nhưng bạn sẽ có nó trông giống như sau:

$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. Cách tốt nhất để chèn nhiều hàng trong PHP PDO MYSQL là gì?

  2. Sử dụng Cơ sở dữ liệu quan hệ MySQL trên Debian 6 (Bóp)

  3. Cách lấy lại dữ liệu từ Mysql cho những ngày không có số liệu thống kê

  4. Giải pháp cho truy vấn con trả về lỗi nhiều hơn 1 hàng

  5. Truy vấn cập nhật động PHP PDO tới MYSQL