免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4085 | 回复: 3
打印 上一主题 下一主题

往数据库里插入的值包含单引号的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-12-22 17:36 |只看该作者 |倒序浏览
本帖最后由 4brightdays 于 2014-12-22 17:36 编辑

我的代码是这样的:
insertSql = "insert into " + tableName + " (a, b, c) vaules('%s','%s','%s')"%(a,b,c)

比如a这个值里包含单引号,就会导致插入不了。
我试图用replace把'替换成''或者\'都不行,替换之后再打印,还是原样,可能是字符串里面的这种字符编译的时候会被自动解析,''还是',\'也是
有啥办法吗解决这个问题?

论坛徽章:
0
2 [报告]
发表于 2014-12-22 17:42 |只看该作者
试试
"insert into " + tableName + " (a, b, c) vaules(“'%s'”,“'%s'”,“'%s'”)"%(a,b,c)  不知道理解的对不对

论坛徽章:
0
3 [报告]
发表于 2014-12-23 13:51 |只看该作者
字符串本身就有双引号,所以值才用单引号的
ask8427 发表于 2014-12-22 17:42
试试
"insert into " + tableName + " (a, b, c) vaules(“'%s'”,“'%s'”,“'%s'”)"%(a,b,c)  不知道理 ...

论坛徽章:
0
4 [报告]
发表于 2014-12-23 14:40 |只看该作者
问题解决啦 是我replace之后没有重新赋值 我还以为replace会改变原有的字符串的值呢 把'替换成''就可以了
虽然我也不知道因为啥
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP