Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So überprüfen Sie, ob der Benutzer von mysql db Teil einer Gruppe ist

Sie können Folgendes in jeder SQL-Anweisung und der API Ihrer Wahl verwenden.

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

oder (Nebenbemerkung:column_x, column_y sind Beispielnamen für Spalten):

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

Sie können auch SELECT * ausführen um alle Spalten auszuwählen, aber das ist oft eine Methode, die viele SQL-Entwickler nicht gerne verwenden.

Sie sagten jedoch, dies sei für ASP.net, was etwas ist, von dem ich nichts weiß.

Nebenbemerkung: group ist ein reserviertes MySQL-Wort was besondere Aufmerksamkeit erfordert.

Entweder indem Sie das Wort in Häkchen umschließen oder einen anderen Namen verwenden, z. B. "Gruppen".

Hier ist eine PDO-Methode, die vorbereitete Anweisungen verwendet:

$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;   
}

Referenzen: