sql >> Base de Datos >  >> RDS >> Mysql

Cómo verificar mysql db si el usuario es parte de un grupo

Puede usar lo siguiente dentro de cualquier instrucción SQL y la API de su elección.

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

o (nota al margen:column_x, column_y son ejemplos de nombres de columnas):

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

También puedes hacer SELECT * para seleccionar todas las columnas, pero ese es a menudo un método que a muchos desarrolladores de SQL no les gusta usar.

Sin embargo, dijiste que esto era para ASP.net, algo de lo que no sé nada.

Nota al margen: group es una palabra reservada de MySQL que requiere una atención especial.

Ya sea envolviendo la palabra en ticks, o usando otro nombre como "grupos", por ejemplo.

Aquí hay un método PDO que usa declaraciones preparadas:

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

Referencias: