sql >> Databasteknik >  >> RDS >> Mysql

Hur man kontrollerar att mysql db är en användare i en grupp

Du kan använda följande i vilken SQL-sats som helst och det API som du väljer.

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

eller (sidenot:kolumn_x, kolumn_y är kolumnexempelnamn):

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

Du kan också göra SELECT * att välja alla kolumner, men det är ofta en metod som många SQL-utvecklare inte gillar att använda.

Du sa dock att detta var för ASP.net vilket är något jag inte vet något om.

Sidenot: group är ett MySQL reserverat ord som kräver särskild uppmärksamhet.

Antingen genom att slå in ordet i bockar eller använda ett annat namn som "grupper" till exempel.

Här är en PDO-metod som använder förberedda uttalanden:

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

Referenser:




  1. SQL Server (localdb)\v11.0 förklaras

  2. 1:a raden i grupp efter vs. sista raden

  3. UTF-8 med mysql och php i freebsd svenska chars (åäö)

  4. log4net-loggningsfel i mysql-databasloggning