-2

在 C# 桌面应用程序中,我使用MySqlConnection MySqlCommand cmd.CommandText

"select * from reg where username='" + user + "' and password='" + pass + "' and key='" + key + "'";

选择记录,但我想弄清楚OR,如果我想user OR email从单个输入(如string UserOrEmail = textBox1.Text.Trim();.

看起来条件适用于username=or email=,但在这种情况下,以下值检查不起作用,似乎我必须在这里使用一些正确的方法:

"select * from reg where username='" + UserOrEmail + "' or email='" + UserOrEmail + "' and password='" + pass + "' and key='" + key + "'";
4

1 回答 1

2

您需要括号,因为运算符AND的优先级高于OR

"select * from reg where (username='" + UserOrEmail + "' or email='" + UserOrEmail + "') and password='" + pass + "' and key='" + key + "'";

或使用运算符IN

"select * from reg where '" + UserOrEmail + "' in (username, email) and password='" + pass + "' and key='" + key + "'";
于 2021-01-01T14:57:43.543 回答