0

我正在尝试执行一个UPDATE查询,其中VARCHAR键入的列值包含一个加号。我的查询不会更新该行,如果我从 varchar 类型的列值中删除加号,它就可以工作。

mysql_real_escape_string在 PHP 中尝试过,并在查询中将 + 替换为 \+(直接在 PHPMyAdmin 中执行),但这些都不起作用。

问题是格式如下的查询

UPDATE tableName SET someVariable = 'SomeValueThatContains+Sign' WHERE someId='IdValue';

正如我之前所说

UPDATE tableName SET someVariable = 'SomeValueThatContains\\+Sign' WHERE someId='IdValue';

不起作用(在 PHPMyAdmin 中执行时)。

这可能是关于字符集数据库正在使用的东西或类似的东西吗?任何建议如何编辑查询以更新行?

4

1 回答 1

-1

当您使用双反斜杠符号(\\)时,它将出现一行。所以你需要插入四个反斜杠符号(\\\\),然后它会出现两次。

您的查询

UPDATE tableName SET someVariable = 'SomeValueThatContains\\\\+Sign' WHERE someId='IdValue';

例子

UPDATE employee SET someVariable ='rizwan\\\\+' Where someId=3;

试试看。没有数据库属性问题。

谢谢。

于 2013-11-06T08:36:02.140 回答