如何在mysql中编写条件选择查询

时间:2014-03-21 14:39:05

标签: php mysql

我想写一个登录身份验证查询

我想检查用户登录名和密码,如果在我的数据库中找到我获取他的详细信息但是如果我找不到确切的详细信息我想检查表中是否只有提供的用户名并获取他的名字和个人资料照片。

我可以做点像......

SELCT * FROM `use_table` WHERE `username` = 'something' AND `password` = 'something'

如果上面的查询返回空行,那么我会触发另一个查询

SELCT `name`, `profile_pic` FROM `use_table` WHERE `username` = 'something'

我可以使用多个查询来完成此操作,但我想要的是棘手的部分  使用单个查询执行此操作。任何帮助??

2 个答案:

答案 0 :(得分:0)

使用NOT IN

SELECT `name`, `profile_pic` 
FROM `use_table` 
WHERE `username` = 'something' 
AND NOT IN (
    SELECT * FROM `use_table`
    WHERE `username` = 'something' AND `password` = 'something'
)

答案 1 :(得分:0)

退出简单,您只需使用第二个查询,但密码返回如下:

SELCT `name`, `profile_pic`,`password` FROM `use_table` WHERE `username` = 'something'

然后与用户输入的密码和密码进行比较

如果匹配,则登录确定,否则登录失败! 但您也可以获得用户的信息!