Python 3.6.5
SQLite 3.28.0
select * from twitter_users;でシングルクオートが消えているのを確認しました。
以下のスクリプトを書きました
Python
1import sqlite3 2 3 4class Database: 5 def __init__(self): 6 self.dbpath = 'db.sqlite3' 7 self.conn = sqlite3.connect(self.dbpath) 8 self.c = self.conn.cursor() 9 10 11db = Database() 12 13 14def update_comment(name, comment='null'): 15 db.c.execute("update twitter_users set comment = '" + comment + 'where name = "' + name + '"') 16 db.conn.commit() 17 18 19update_comment('Jikkenndesu', "How's day?") 20
エラー文:
Traceback (most recent call last):
File "test.py", line 19, in <module>
update_comment('Jikkenndesu', "How's day?")
File "test.py", line 15, in update_comment
db.c.execute("update twitter_users set comment = '" + comment + 'where name = "' + name + '"')
sqlite3.OperationalError: near "s": syntax error
こちらでもダメでした。
python
1import sqlite3 2 3 4class Database: 5 def __init__(self): 6 self.dbpath = 'db.sqlite3' 7 self.conn = sqlite3.connect(self.dbpath) 8 self.c = self.conn.cursor() 9 10 11db = Database() 12 13 14def update_comment(name, comment='null'): 15 db.c.execute('update twitter_users set comment = %s where name = %s' % (name, comment)) 16 db.conn.commit() 17 18 19update_comment('Jikkenndesu', "How's day?")
エラー:
Traceback (most recent call last):
File "test.py", line 19, in <module>
update_comment('Jikkenndesu', "How's day?")
File "test.py", line 15, in update_comment
db.c.execute('update twitter_users set comment = %s where name = %s' % (name, comment))
sqlite3.OperationalError: unrecognized token: "'s day?"
ユーザがコメントに「'(シングルクオート)」を入力してきてもエラーにならないようにしたいのです。
アドバイスとご教授のほどよろしくお願いします。
回答5件
あなたの回答
tips
プレビュー