如何配置sqlite列,使其可以接受任何类型的值

2024-09-27 17:38:28 发布

您现在位置:Python中文网/ 问答频道 /正文

cur.execute(“插入taula(时间,用户名,推特,位置)值(%s,%s,%s)”%(时间(),用户名,推特,位置))

用户名、tweet和位置是来自twitter流的我的值

假设我的推文包含“RT@Nicksnacs4u:1964福特Galaxie经销商促销模型车//按顺序”

我需要配置我的tweet列,以便它可以接收任何类型的文本,无论它是否包含特殊字符,如@Nicksnacs4u。目前它失败了,因为一些tweet包含像#sometext、@username%、$这样的文本。

请帮忙


Tags: 文本类型execute顺序时间twitter用户名tweet
1条回答
网友
1楼 · 发布于 2024-09-27 17:38:28

您应该在SQL语句中使用占位符,而不是自己格式化占位符

cur.execute(
    'INSERT INTO taula(time, username, tweet, location) VALUES (?,?,?,?)',
    (time.time(), username, tweet, location),
)

详情请参阅https://docs.python.org/2/library/sqlite3.html。通过格式化您自己的SQL语句,您为一些恶劣的SQL注入攻击打开了大门

xkcd 327

相关问题 更多 >

    热门问题