[英]escaping special character in mysql statements while using UPDATE
我正在尝试使用更新字段
UPDATE table set field='some_variable' where id=1;
这里的问题是some_variable包含其中包含多个特殊字符的数据。 因此我无法使用'some_variable'或“ some_variable”,因为遇到第一个相同字符('或“)时它会破裂并失败。我该如何克服呢?
谢谢。 麦克风
有两种解决方案,第一种是使用mysql_real_escape_string()
,第二种是使用准备好的语句。 您没有提到您的编程语言是什么,但是可以肯定它支持准备好的语句或真正的转义符。
除实际转义外,如果您的字段是char或varchar,则应按以下方式修改查询:
UPDATE table set field='some_variable' where id=1;
通常,您只需要转义保留的字符-有关特定参考,请参见MySQL文档 。 如果您直接执行查询(即:在mysql shell中),则必须手动进行转义。 大多数语言都会为您提供转义功能-例如,在PHP中,它是mysql_real_escape_string()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.