这可能是一个简单的问题,但是我有一个登录页面,我希望用户根据该页面对LDAP进行身份验证,并且工作正常。
我创建了一个mysql数据库,在其中创建了一个具有用户登录名的表,并希望在成功登录后进行检查,以在数据库中验证试图进行身份验证的用户是否属于Administrator组(在数据库表中定义)。
如果有效,则将它们重定向到url1,否则将它们重定向到URL2。在这一点上,我只需要SQL查询部分的帮助,因为我不太熟悉它。
Localhost DB名称= imc.directory.tool 表名称= tbl_staff ------------------------------------- ----------- | ID | 用户名| 组| ------------------------------------------------ | 1 | 用户名1 | 管理员| ------------------------------------------------ | 2 | 用户名2 | 来宾| ------------------------------------------------ | 3 | 用户名3 | 来宾| ------------------------------------------------
您可以在任何SQL语句和您选择的API中使用以下代码。
SELECT ID FROM tbl_staff
WHERE username='username1'
AND `group`='Administrator'
或(旁注:column_x,column_y是列示例名称):
SELECT column_x, column_y FROM tbl_staff
WHERE username='username1'
AND `group`='Administrator'
您也SELECT *
可以选择所有列,但这通常是许多SQL开发人员不喜欢使用的方法。
但是,您确实说过这是针对ASP.net的,对此我一无所知。
旁注: group
是MySQL保留字,需要特别注意。
通过将单词包装在刻度中,或使用其他名称(例如“组”)来进行。
这是使用准备好的语句的PDO方法:
$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;
}
参考:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句