错误:检查与MySQL服务器版本对应的手册,以获得使用near的正确语法

本文关键字:语法 near MySQL 检查 服务器 版本 错误 | 更新日期: 2023-09-27 17:52:48

我有一个问题。我想更新我的数据库中的记录,但是,它一直显示这个消息

你的SQL语法有错误;查看手册对应于MySQL服务器版本,以便使用正确的语法WHERE stud_no='2014-0317-TSF-1 " at line 1

string myConnection = "datasource=localhost;port=3306;username=root;password=";
MySqlConnection myConn = new MySqlConnection(myConnection);
string Query = "UPDATE stud_grades.firstyear_firstgrading SET values='" + valuesTextBox.Text + "' WHERE stud_no='" + stud_noTextBox.Text + "';";
MySqlCommand SelectCommand = new MySqlCommand(Query, myConn);
myConn.Open();
SelectCommand.ExecuteNonQuery();

错误:检查与MySQL服务器版本对应的手册,以获得使用near的正确语法

values使用反号,因为它是一个关键字

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

始终使用参数化查询以避免SQL注入

SQLParameter如何防止SQL注入

string Query = "UPDATE stud_grades.firstyear_firstgrading SET `values`=@values where 
                                stud_no=@stud_no";
MySqlCommand SelectCommand = new MySqlCommand(Query, myConn);
SelectCommand.Parameters.AddWithValue("@values ", valuesTextBox.Text);
SelectCommand.Parameters.AddWithValue("@stud_no", stud_noTextBox.Text);
myConn.Open();
SelectCommand.ExecuteNonQuery();

VALUES是一个保留的MySQL字:http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

重命名此字段或在反勾中包含values: '