在以下示例中,我构建了一个查询以对 MySQL 数据库进行批量插入:
const string QUERY = "INSERT INTO contacts (first_name,last_name) VALUES{0};";
public string BuildQuery(IEnumerable<contact> contacts)
{
List<string> values = new List<string>();
foreach (var contact in contacts)
{
values.Add(string.Format("('{0}','{1}')", contact.first_name, contact.last_name));
}
return string.Format(QUERY, string.Join(",", values));
}
结果可能如下所示:
INSERT INTO contacts (first_name,last_name) VALUES("J","Kappers"),("A","Temple")
我可以做些什么来编写一个不易发生 SQL 注入的更安全的查询?