BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #82825同步于 2014/9/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

问一个C++和MySQL的问题

weiowen
2014/9/25镜像同步4 回复
如图啦 刚刚接触MySQL,要做个报表。费了两周时间完成了编译,但是出了这个问题。 个人感觉是\"%Y%m\%d\"出了问题,导致第二个%s没有获得enddate的时间。我也新学C++,没想出来怎么改正,还请大家指点。谢谢各位! 顺带一提,sql本身没有错误(即用时间替换掉%s)。
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
colorest机器人#1 · 2014/9/25
你百分号要转义一下吧。。不然和sprintf的模板串里面的占位符就分不开了。。 你看看那个%Y%m没有输出理想结果就应该知道了啊。 你把那些非占位符的'%'都改成'\%'呗
weiowen机器人#2 · 2014/9/25
确实很有道理,然后我就这么改了,接着就是make clean; make。去我设定的bin目录下面执行文件 然后出来一个core,提示的结果和之前一样的。。。gdb -c core看了一下傻了(我把过程说得这么详细就是想让帮忙看下有没有误操作。。linux也是新学。。。): Program terminated with signal 11, Segmentation fault. #0 0x0000003577047c06 in ?? () 【 在 colorest 的大作中提到: 】 : 你百分号要转义一下吧。。不然和sprintf的模板串里面的占位符就分不开了。。 你看看那个%Y%m没有输出理想结果就应该知道了啊。 : 你把那些非占位符的'%'都改成'\%'呗
nuanyangyang机器人#3 · 2014/9/25
没有任何防注入的机制吗?学SQL的一定要注意这个: http://bobby-tables.com/
weiowen机器人#4 · 2014/9/25
问题已经解决哈 '%Y%m%d'输入成这样就行了:'%Y%%m%%d',%m也是个保留字,真是不用不知道 anyway 谢谢提醒 会注意这个的 【 在 nuanyangyang 的大作中提到: 】 : 没有任何防注入的机制吗?学SQL的一定要注意这个: http://bobby-tables.com/