【问题标题】:How do i know which field is not matched in MYSQL Statment我如何知道 SQL 语句中哪个字段不匹配
【发布时间】:2016-03-29 12:16:08
【问题描述】:

我的 MYSQL 语句有问题,我只是想检查一个表中的两个字段是否都匹配下面的查询工作正常,但我只想知道这些字段中的一个是否匹配失败。我如何知道哪个字段不匹配? 这是我的查询:

SELECT *
FROM `all_users`
WHERE `UserName`= 'Johne' AND
      `UserPassword` = '40bd001563085fc35165329ea1ff5c5ecbdbbeef'

【问题讨论】:

  • 如果有人寻求帮助
  • 如何在 codeigniter 中使用这个语句? SELECT *, (UserPassword = $pass) AS UserPasswordMatch FROM all_users WHERE UserName = $Username

标签: javascript jquery mysql sql


【解决方案1】:

您需要OR,而不是WHERE 子句中的AND 以包含仅匹配其中一列的行。

SELECT *, (`UserName`= 'Johne') AS UsernameMatch,
(`UserPassword` = '40bd001563085fc35165329ea1ff5c5ecbdbbeef') AS UserPasswordMatch
FROM `all_users`
WHERE `UserName`= 'Johne' OR `UserPassword` = '40bd001563085fc35165329ea1ff5c5ecbdbbeef';

但请注意您使用结果的目的,因为您不希望人们能够猜到另一个用户拥有给定的密码。

你可以使用:

SELECT *, (`UserPassword` = '40bd001563085fc35165329ea1ff5c5ecbdbbeef') AS UserPasswordMatch
FROM `all_users`
WHERE `UserName`= 'Johne';

检查实际用户名的密码是否正确。

【讨论】:

  • 完美的 Kilgore 先生 感谢您的帮助。第二个选项是我需要的,再次感谢您的编码。干杯
猜你喜欢
  • 2017-05-06
  • 2012-04-26
  • 2013-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-19
  • 2014-02-11
  • 2016-08-05
相关资源
最近更新 更多