查询中的语法错误,但查询正确

我写了一个通用方法来搜索特定表中是否存在值,该方法真的很简单:


public bool CheckRecordExist(int id, string tableName, string column)

{

    string connection = string.Format("Server=localhost; database={0}; UID=root; password=root; SslMode=none; CharSet=utf8;", "myDb");

    MySqlConnection conn = new MySqlConnection(connection);


    string query = "SELECT * FROM " + tableName + " WHERE " + column " = @" + column;

    MySqlCommand = new MySqlCommand(query, conn);

    MySqlCommand.Parameters.AddWithValue("@" + column, id);


   return Convert.ToBoolean(MySqlCommand.ExecuteScalar());

}

假设我要检查表中是否2538782存在ID为ID的记录匹配,我这样做:


CheckRecordExist(2538782, "match", "id");

因此query变量将是:


SELECT * FROM match WHERE id = @id

如果在中运行PhpMyAdmin,将其替换为id值,我将获得正确的响应,但是在我的应用程序中,我将得到:


MySql.Data.MySqlClient.MySqlException:'您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“ match WHERE id = 2538782”附近使用


怎么了?



潇潇雨雨
浏览 138回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP