免费注册 查看新帖 |

Chinaunix

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

关于dbI的问题带引号的字符串存入问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-10-18 20:58 |只看该作者 |倒序浏览
本帖最后由 weininglzu 于 2012-10-18 21:00 编辑

我直接在mysql中存入“What\'s that?”的命令可以执行
但是我用DBI去执行这个命令就不行,这是为什么?
而且就算我把What's that?存到变量$SC中,然后用quote()处理之后再执行存入命令还是出错。。。
难道这里面有什么讲究么?
  1. #!/usr/bin/perl
  2. use DBI;
  3. $dbh=DBI->connect('DBI:mysql:test','root','PASSWORD') or die "can not connect";
  4. $insert=$dbh->prepare("INSERT INTO test (stc) values('What\'s that')");
  5. $insert->execute();
  6. $insert->finish();
  7. $dbh->disconnect();
复制代码
我看论坛里讲DBI的帖子好像也没有仔细的讲这个问题,只有在这里求甚解了。
先谢谢啦!

论坛徽章:
0
2 [报告]
发表于 2012-10-19 10:47 |只看该作者
  1. $dbh->do("insert into test(stc) values (?)",undef,"what's that") or die DBI->errstr
复制代码
楼主这么就不会有转义的麻烦了,prepare方法差不多,

论坛徽章:
0
3 [报告]
发表于 2012-10-20 17:58 |只看该作者
路过看看了!

论坛徽章:
0
4 [报告]
发表于 2012-10-27 13:43 |只看该作者
呵呵,谢谢啦
刚试过,用do()就没有那么多麻烦了!

斯文牛氓 发表于 2012-10-19 10:47
楼主这么就不会有转义的麻烦了,prepare方法差不多,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP