【发布时间】:2012-12-21 03:23:06
【问题描述】:
有些人可能已经注意到这一点,我想确认一下,我对复杂的 SQL 字符串真的没有经验。我只知道简单的 SELECT 、 INSERT 、 UPDATE 和 DELETE 语句。为了达到我的目的,我经常使用 2 个 SELECT 语句,比如这个:
con.Open();
string cmdstr = "SELECT UNIQUE FROM recipeList WHERE `stock_ID` = '" + stockIDTxtbox.Text + "'";
cmd = new MySqlCommand(cmdstr, con);
dr = cmd.ExecuteReader();
string menuID = "";
while (dr.Read())
{
menuID = (dr["menu_ID"].ToString());
}
dr.Close();
con.Close();
con.Open();
string cmdstr = "SELECT `menu_name` FROM recipedb WHERE `menu_ID` = '" + menuID + "'";
cmd = new MySqlCommand(cmdstr, con);
dr = cmd.ExecuteReader();
string menuName = "";
while (dr.Read())
{
menuName = (dr["menu_name"].ToString());
this.listView1.Items.Add(new ListViewItem(new string[]{ menuName }))
}
dr.Close();
con.Close();
任何想法如何缩短这个? o.O
【问题讨论】:
-
Holy Sql 注入漏洞,蝙蝠侠!
-
使用连接......以及乔尔所说的!
-
正如 Joel 和 Mitch 已经指出的那样,您存在大量 SQL 注入问题。如果您不确定什么是 SQL 注入,请查看 troyhunt.com/2010/05/… 以获得良好的介绍以及如何避免它