Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment vérifier mysql db si l'utilisateur fait partie d'un groupe

Vous pouvez utiliser ce qui suit dans n'importe quelle instruction SQL et l'API de votre choix.

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

ou (sidenote :column_x, column_y sont des exemples de noms de colonnes) :

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

Vous pouvez également faire SELECT * pour sélectionner toutes les colonnes, mais c'est souvent une méthode que de nombreux développeurs SQL n'aiment pas utiliser.

Cependant, vous avez dit que c'était pour ASP.net, ce dont je ne sais rien.

Note complémentaire : group est un mot réservé MySQL qui demande une attention particulière.

Soit en enveloppant le mot de ticks, soit en utilisant un autre nom comme "groups" par exemple.

Voici une méthode PDO utilisant des instructions préparées :

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

Références :