回答編集履歴

1

PEPを見た結果を追記

2017/10/04 03:28

投稿

calkinos
calkinos

スコア452

test CHANGED
@@ -13,3 +13,33 @@
13
13
 
14
14
 
15
15
  後者のような気もしますが
16
+
17
+
18
+
19
+
20
+
21
+ 追記
22
+
23
+
24
+
25
+ ("...where time < %s",(timestamp,))
26
+
27
+ こうするのが正解っぽい。
28
+
29
+
30
+
31
+ "query include %s" % arg
32
+
33
+ みたいなことしてると、 argに不正な文字列が仕込まれたときにSQL Injectionが起きる可能性があるので
34
+
35
+ cursor.execute("query include %s", args)
36
+
37
+ を利用したほうが安全なことが多いです。
38
+
39
+ (cursor.execute内部で argsを安全なものに変換してくれる可能性が高いため)
40
+
41
+ [PEP](https://www.python.org/dev/peps/pep-0249/#id15)によると
42
+
43
+ argsはシーケンスかマップなので、
44
+
45
+ [timestamp]と配列にするか(timestamp,)とtupleにする必要があったっぽいですね。