MySql:在if语句中选择

时间:2018-03-18 15:20:43

标签: c# mysql sql asp.net

是否有可能将select作为答案?我试图在MySql中执行此操作,但它总是显示为错误:

// administrador和informacion是表格。 // inmobiliaria是架构。

SELECT if(administrador.usuario='Admin0'&&administrador.password='pass123', 
select * from inmobiliaria.informacion, null) FROM inmobiliaria.administrador;

最后我想从表“信息”中获取所有内容,如果密码和administrador表中的用户与文本框中输入的相同,但我还没有找到方法。< / p>

1 个答案:

答案 0 :(得分:1)

很难说出你想要什么,但我认为如果用户名和密码正确,或者返回null,我的目标就是选择inmobiliaria.informacion中的所有内容。

请注意将密码作为纯文本存储在数据库中是一个非常非常糟糕的主意。您绝不应将密码存储为纯文本。 处理密码的正确方法是存储盐渍哈希,这样即使有人破解了您的数据库,密码也无法反向生成。 有关详细信息,请参阅Salted Password Hashing - Doing it Right.

您可以这样做:

SELECT <ColumnsList>
FROM inmobiliaria.informacion
WHERE EXISTS
(
     SELECT 1
     FROM administrador
     WHERE usuario='Admin0'
     AND password='pass123'
)

如果用户和密码不匹配,则会返回空结果集。