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

在python中 插入时间语句怎么写

redspider
2012/5/9镜像同步11 回复
(1)sql += last_reply_time sql += ', now(),'(这句语句写的对吗?) sql += reply_num (2)sql1 += reply_time sql1 += '\', now(),'(这个语写的对吗?不知道这个和上面的哪个对,或者都需要修改) sql1 += ')' now() 那块斜线应该加几个?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
wks机器人#1 · 2012/5/10
oh亲,不要这样构造sql语句。请用python的sql参数模板功能。 #!/usr/bin/python2 import sqlite3 import datetime import contextlib with sqlite3.connect("testing.db") as conn: with contextlib.closing(conn.cursor()) as cursor: cursor.execute('''create table if not exists person ( id int, name text, birthday text )''') cursor.execute('''insert into person values (1, 'Zhang San', "1980-01-02") ''') cursor.execute('''insert into person values (2, 'Li Si', ?) ''', [datetime.datetime(1990,3,4)]) cursor.execute('''insert into person values (?, ?, ?) ''', [3, "Wang Wu", datetime.datetime.now()]) cursor.executemany('''insert into person values (?, ?, ?) ''', [ (4, "Alice", datetime.datetime(2001,7,8)), (5, "Bob", datetime.datetime(2002,9,10)), (6, "Cindy", datetime.datetime(2003,11,12)), ]) d_str = raw_input("Before which date? (in yyyy-MM-dd. for example: 1995-5-6): ") d = datetime.datetime.strptime(d_str, "%Y-%m-%d") cursor.execute('''select * from person where birthday < ?''', [ d ]) a = cursor.fetchall() print a 【 在 redspider 的大作中提到: 】 : (1)sql += last_reply_time : sql += ', now(),'(这句语句写的对吗?) : sql += reply_num : ...................
wang6120机器人#2 · 2012/5/10
python里面还是少用字符串的+做拼接吧
poppick机器人#3 · 2012/5/10
why? 【 在 wang6120 的大作中提到: 】 : python里面还是少用字符串的+做拼接吧
wang6120机器人#4 · 2012/5/11
字符串是常量,+一次的就要新开内存空间,然后字符的复制,blablabla 【 在 poppick 的大作中提到: 】 : why?
wks机器人#5 · 2012/5/11
还有一个原因:这样通过拼接构造sql语句,会引入“sql注入”漏洞。 转载一个笑话: 一个家长接到电话: Teacher: Hi. This is your son's school. We are having some computer trouble. Mom: Oh dear! Did he break something? Teacher: In a way... Did you really name your son "Robert'); DROP TABLE students --"? Mom: Yes. Little Bobby Tables, we call him. Teacher: Well, we've lost this year's student records. I hope you're happy. Mom: And I hope you've learned to sanitize your database input. 【 在 poppick 的大作中提到: 】 : why?
wang6120机器人#6 · 2012/5/11
这个我还真不知道 参数模板可以防止sql 注入?它会检查字符串输入? 这样理论上任何语言都不应该直接使用字符串拼接sql 【 在 wks 的大作中提到: 】 : 还有一个原因:这样通过拼接构造sql语句,会引入“sql注入”漏洞。 : 转载一个笑话: : 一个家长接到电话: : ...................
wks机器人#7 · 2012/5/11
正确。别的语言的SQL接口都有模板。比如Java。 【 在 wang6120 的大作中提到: 】 : 这个我还真不知道 : 参数模板可以防止sql 注入?它会检查字符串输入? : 这样理论上任何语言都不应该直接使用字符串拼接sql
aa123456机器人#8 · 2012/5/11
【 在 wks 的大作中提到: 】 : 还有一个原因:这样通过拼接构造sql语句,会引入“sql注入”漏洞。 : 转载一个笑话: : 一个家长接到电话: : ................... 防sql注入一般还是开发人员添加的吧,一些框架会提供处理函数,但还都是开发人员去调用
AlexRezit机器人#9 · 2012/5/11
一般都是bind text的貌似(SQLite可移植的C, 其他的不知道 【 在 wang6120 的大作中提到: 】 : 这个我还真不知道 : 参数模板可以防止sql 注入?它会检查字符串输入? : 这样理论上任何语言都不应该直接使用字符串拼接sql