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

Cách kiểm tra mysql db là người dùng có thuộc nhóm không

Bạn có thể sử dụng phần sau bên trong bất kỳ câu lệnh SQL nào và API mà bạn chọn.

SELECT ID FROM tbl_staff 
WHERE username='username1' 
AND `group`='Administrator'

hoặc (sidenote:column_x, column_y là các tên ví dụ về cột):

SELECT column_x, column_y FROM tbl_staff 
WHERE username='username1' 
AND `group`='Administrator'

Bạn cũng có thể thực hiện SELECT * để chọn tất cả các cột, nhưng đó thường là phương pháp mà nhiều nhà phát triển SQL không thích sử dụng.

Tuy nhiên, bạn đã nói điều này dành cho ASP.net, đây là điều mà tôi không biết gì về nó.

Chú thích bên lề: group là một từ dành riêng cho MySQL đòi hỏi sự chú ý đặc biệt.

Hoặc bằng cách gói từ trong dấu tích hoặc sử dụng một tên khác chẳng hạn như "nhóm".

Đây là một phương pháp PDO sử dụng các câu lệnh đã chuẩn bị sẵn:

$db = new PDO("mysql:host=localhost;dbname=db_name", $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

$username = "username1";
$group = "Administrator";

$query = "SELECT COUNT(*) FROM tbl_staff 
         WHERE username = :username 
         AND `group` = :username";

$statement = $db->prepare($query);
$statement->bindValue(':username', $username);
$statement->bindValue(':password', $group);
$statement->execute();
$count = $statement->fetchColumn();
if ($count === 1)
{
    return TRUE;
}
else 
{
    return FALSE;   
}

Tài liệu tham khảo:




  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ính Tổng tích lũy trong MySQL

  2. Sự khác biệt giữa hai ifnull và kết hợp trong mysql là gì?

  3. Khai báo biến trong Bash?

  4. Gửi email từ trình kích hoạt MySQL khi một bảng được cập nhật

  5. Câu lệnh MySQL CASE ... WHERE ... THEN