Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#和mysql,插入到exeotuib中_C#_Mysql - Fatal编程技术网

c#和mysql,插入到exeotuib中

c#和mysql,插入到exeotuib中,c#,mysql,C#,Mysql,当我在c#中使用这个时 它输出这个异常。当我在mysql工作台查询中使用相同的命令时,它不起作用。我知道这不安全,如果有人知道更安全的方法,我会非常感激 MySql.Data.MySqlClient.MySqlException: 'Unknown column 'x' in 'field list'' 如果您的数据来自不受信任的来源(如用户),您应该真正注意使用准备好的语句。然而,这也应该帮助你解决你的问题 MySqlCommand myCommand = new MySqlCommand(

当我在c#中使用这个时

它输出这个异常。当我在mysql工作台查询中使用相同的命令时,它不起作用。我知道这不安全,如果有人知道更安全的方法,我会非常感激

MySql.Data.MySqlClient.MySqlException: 'Unknown column 'x' in 'field list''

如果您的数据来自不受信任的来源(如用户),您应该真正注意使用准备好的语句。然而,这也应该帮助你解决你的问题

MySqlCommand myCommand = new MySqlCommand("SELECT * FROM myDb.Table WHERE col_A = @val_a AND col_B = @val_b", MySqlConn.conn);

myCommand.Parameters.AddWithValue("@val_a", someUserInput);
myCommand.Parameters.AddWithValue("@val_b", otherUserInput);
myCommand.Prepare();

MySqlDataReader reader = myCommand.ExecuteReader();

我相信这会帮助你朝正确的方向前进。

id
column是外键吗?注意你的列类型,如果“你必须单引号'x'或mysql将其作为列名。因此在这一部分中,someuserinput是我放置变量的地方。在我的例子中,应该如何看才能正确地看到
“INSERT INTO
DBname
tablename
id
column1
column2
column3
)值(6,x,x,x);”
应该是:
myCommand=new MySqlCommand(“INSERT INTO DBname.Table(col_1,col_2,col_3)值(@val_1,@val))
myCommand.Parameters.AddWithValue(“@val\u 1”,valueForVal\u 1);//。。。等等。
MySqlCommand myCommand = new MySqlCommand("SELECT * FROM myDb.Table WHERE col_A = @val_a AND col_B = @val_b", MySqlConn.conn);

myCommand.Parameters.AddWithValue("@val_a", someUserInput);
myCommand.Parameters.AddWithValue("@val_b", otherUserInput);
myCommand.Prepare();

MySqlDataReader reader = myCommand.ExecuteReader();