質問編集履歴

3

Python 3.6.5 SQLite 3.28.0 select * from twitter_users;でシングルクオートが消えているのを確認しました。

2019/10/29 05:42

投稿

kalon
kalon

スコア198

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,8 @@
1
1
  Python 3.6.5
2
2
 
3
3
  SQLite 3.28.0
4
+
5
+ select * from twitter_users;でシングルクオートが消えているのを確認しました。
4
6
 
5
7
 
6
8
 

2

動作環境の追加

2019/10/29 05:42

投稿

kalon
kalon

スコア198

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,9 @@
1
+ Python 3.6.5
2
+
3
+ SQLite 3.28.0
4
+
5
+
6
+
1
7
  以下のスクリプトを書きました
2
8
 
3
9
  ```Python

1

新たな試みを試したがダメだった

2019/10/29 00:29

投稿

kalon
kalon

スコア198

test CHANGED
File without changes
test CHANGED
@@ -60,6 +60,70 @@
60
60
 
61
61
 
62
62
 
63
+ こちらでもダメでした。
64
+
65
+ ```python
66
+
67
+ import sqlite3
68
+
69
+
70
+
71
+
72
+
73
+ class Database:
74
+
75
+ def __init__(self):
76
+
77
+ self.dbpath = 'db.sqlite3'
78
+
79
+ self.conn = sqlite3.connect(self.dbpath)
80
+
81
+ self.c = self.conn.cursor()
82
+
83
+
84
+
85
+
86
+
87
+ db = Database()
88
+
89
+
90
+
91
+
92
+
93
+ def update_comment(name, comment='null'):
94
+
95
+ db.c.execute('update twitter_users set comment = %s where name = %s' % (name, comment))
96
+
97
+ db.conn.commit()
98
+
99
+
100
+
101
+
102
+
103
+ update_comment('Jikkenndesu', "How's day?")
104
+
105
+ ```
106
+
107
+
108
+
109
+ エラー:
110
+
111
+ Traceback (most recent call last):
112
+
113
+ File "test.py", line 19, in <module>
114
+
115
+ update_comment('Jikkenndesu', "How's day?")
116
+
117
+ File "test.py", line 15, in update_comment
118
+
119
+ db.c.execute('update twitter_users set comment = %s where name = %s' % (name, comment))
120
+
121
+ sqlite3.OperationalError: unrecognized token: "'s day?"
122
+
123
+
124
+
125
+
126
+
63
127
  ユーザがコメントに「'(シングルクオート)」を入力してきてもエラーにならないようにしたいのです。
64
128
 
65
129