我一直在网站上处理用户数据,例如用户ID,用户名,密码,电子邮件,排名,fname和lname。我创建了一个插入此数据的注册页面和一个需要您的用户名和密码的登录页面。这将创建一个会话,并在会话中创建用户名变量。如何使用用户名从sql中提取,例如,查找他们的电子邮件?我试过看了这个但却一无所获。如果有人不介意将我链接到一个教程或一些令人惊讶的东西。
非常感谢, 约翰芬伯尔
答案 0 :(得分:0)
首先搜索数据库表中是否存在用户名或不存在以下查询。 从员工中选择计数(*),其中UserName = @ username 。 如果表中已有用户名,则使用以下查询获取EmailId。 从员工中选择UserName,EmailId,其中UserName = @ username
答案 1 :(得分:0)
创建一个存储过程,将用户名作为参数并返回用户的电子邮件地址:
CREATE PROCEDURE [dbo].[uspGetUserRole] @userName VARCHAR(255)
,@emailaddress NVARCHAR(255) = '' OUTPUT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
BEGIN TRY
SELECT @emailaddress = u.emailaddress
FROM [User] u
WHERE u.UserName = @userName
END TRY
BEGIN CATCH
THROW
END CATCH
END
然后,您可以调用此存储过程以获取您传递的用户名的电子邮件地址:
DECLARE @emailaddress NVARCHAR(255)
[dbo].[uspGetUserRole] 'domain\username1', @emailaddress OUTPUT
SELECT @emailaddress
答案 2 :(得分:0)
1.用户无法使用该用户名登录,因为用户名可能相同,但使用的用户ID或用户电子邮件必须是唯一的。
2.登录时,按用户ID或电子邮件检索用户数据,并在会话中存储用户名和用户ID。
3.现在您可以按用户ID检索用户数据。