1

尝试登录时,我正在尝试检查用户的 HWID 是否已存在于 mysql 数据库中的“用户”表中。如果确实存在,请再次检查。但是我收到一个错误,称为“您的 SQL 语法有错误;请检查手册是否与您的 MySQL 服务器版本相对应……”等等。语法似乎没有任何错误。我认为问题将在 int 部分。我不确定,所以我需要你的帮助! imgur 上的 SQL 语法错误截图

我试过用谷歌搜索这个并在stackoverflow(这里)上搜索。我还没有找到我的“实际”问题的答案。我尝试使用布尔值而不是 int。

MySqlCommand hwid = con.CreateCommand();
                hwid.CommandType = CommandType.Text;
                hwid.CommandText = "SELECT COUNT * FROM users where hwid='"+leet+"' AND username='"+textBox1.Text+"'";
                hwid.Parameters.AddWithValue("hwid", leet);
                hwid.Parameters.AddWithValue("username", textBox1.Text);
                int hwidCheck1 = hwid.ExecuteNonQuery();
                if ((int)hwidCheck1 > 0)

我希望它检查 hwid 是否在数据库中并继续下一次检查。

4

1 回答 1

0

您的 sql 中缺少 (*)。

它应该是这样的:

SELECT COUNT(*) FROM users where hwid='whatever' AND username='someuser'

这正是调试器告诉你的,SQL 语法有问题。

我看到的另一件事是,要检查计数结果,您需要稍微更改逻辑。

由此:

int hwidCheck1 = hwid.ExecuteNonQuery();
if ((int) hwidCheck1 > 0)

对此:

int hwidCheck1 = int.Parse(hwid.ExecuteScalar().ToString());
if (hwidCheck1 > 0)
于 2019-03-30T11:19:06.680 回答