Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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
Asp.net 为什么这个代码不起作用_Asp.net_Mysql - Fatal编程技术网

Asp.net 为什么这个代码不起作用

Asp.net 为什么这个代码不起作用,asp.net,mysql,Asp.net,Mysql,我已经设置了一个编辑器,将其内容输入数据库,然后我可以检索、编辑并再次保存它,下面是我使用的: string user = Page.User.Identity.Name; MySqlConnection conn = new MySqlConnection(@"connection string;"); MySqlCommand cmd = new MySqlCommand("UPDATE copy SET cv='" + '"' + Editor1.Content.Repl

我已经设置了一个编辑器,将其内容输入数据库,然后我可以检索、编辑并再次保存它,下面是我使用的:

string user = Page.User.Identity.Name;

    MySqlConnection conn = new MySqlConnection(@"connection string;");
    MySqlCommand cmd = new MySqlCommand("UPDATE copy SET cv='" + '"' + Editor1.Content.Replace("'", "''") + '"' + "' WHERE id = '" + user + "' ", conn);

    conn.Open();
    cmd.ExecuteNonQuery();

    conn.Close();
插入和选择工作正常,但更新不会,它不会给出错误,但不会更改内容(无论我更改了什么,内容始终保持不变)

我知道这对sql注入是开放的,我应该切换到参数化查询,我会在一切正常后这样做

我使用的是asp.NET3.5,mysql 5.0

我已经发现了问题,并提出了一个新问题
谢谢大家的帮助

不管它为什么不起作用,都是大错特错

你对我敞开心扉,这应该是你首先关心的

您可以通过使用参数来解决此问题,如下所示:

MySqlCommand cmd = new MySqlCommand("UPDATE copy SET cv=?cv WHERE id = ?id", conn);
cmd.Parameters.AddWithValue("cv", Editor1.Content);
cmd.Parameters.AddWithValue("id", user);

ExecuteOnQuery应该返回有效的行数,记住这一点,您可以调试代码。为了让我们提供帮助,您可以用字符串编写您正在生成的sql语句吗


除此之外,首先想到的是id='user'可能不正确,id表示一个整数,但名称看起来像是一个字符串值。

。。。我们不是在闻吗?请放一个断点,告诉我
Editor1.Content
是否是您想要的更新值,告诉我“user”的值。@just_name我尝试了一个断点,由于某种原因,编辑器的内容总是空的,尽管它有内容谢谢你,我实际上要切换到参数化查询,但是在我开始工作后,你真的使用了如图所示的连接字符串吗?在字符串内部?为什么不现在试试参数化的方法,看看这是否也能神奇地解决您的问题?不,“连接字符串”被替换为实际的字符串,并且该字符串已被测试,好的,我将尝试一下,您是否有任何错误、异常等?另外,ExecuteOnQuery返回什么?它应该返回修改的行数。它是否返回0、1或什么?用户名是正确的,因为我正在使用它从数据库检索内容