这主要是我尝试阅读C#(我知道Python,PHP和Javascript,但我是C#的新手)
我也想在这里解释MySQL。
我有这部分代码:
sql_query = "insert into peer_review_info " +
" (review_id, emp_id, comments_positive, comments_negative )" +
" values(?review_id, ?employeeid, ?strength, ?weakness) ";
myCommand = new MySqlCommand(sql_query, connection);
Trace.Write("strength = ", strength );
Trace.Write("areaofimprovement = ", areaofimprovement);
myCommand.Parameters.Add(new MySqlParameter("?review_id", ViewState["review_id"].ToString()));
myCommand.Parameters.Add(new MySqlParameter("?employeeid", ViewState["employeeid"].ToString()));
myCommand.Parameters.Add(new MySqlParameter("?strength", strength));
myCommand.Parameters.Add(new MySqlParameter("?weakness", areaofimprovement));
我想知道sql_query值部分中的?
意味着什么(是C#确定变量的方式还是我不知道的MySQL语法)。
我也想知道我对这一部分的理解是否正确 - 它或多或少只是一个SQL插入语句,后面跟着有问题的变量的定义。我是对的吗?
答案 0 :(得分:5)
与C#无关,它们只是查询的命名参数。当您编写PHP时,就像在PDO / MySQLi中使用(读取:应该使用)一样。
另请注意,这不是字符串替换,它是一个准备好的语句,允许将参数传递给它。您可以将预备语句更像是一个预定义参数的方法调用,而不是将一长串数据(可以注入可能的数据)写入数据库以便直接执行。