Python含有单引号(')插入数据库时报错

87 阅读1分钟

插入MySQL时,如果内容中有引号等特殊符号,会报错,解决方法可以用反斜杠转义或者替换掉报错字符,还可以用pymysql的一 个方法自动转义 pymysql.escape_string() 转换 示例一

if type(str_content) is str:
      str_content = pymysql.escape_string(str_content)

示例二

sql1 = "insert  into  article (title,antuor,antuor_url,comments,clicks,createtime,digg,bury,content) value ('%s','%s','%s','%d','%d','%s','%d','%d','%s')"
data = (list["title"], list["antuor"], list["antuor_url"], list["comments"], int(list["clicks"]), list["createtime"],int(list["digg"]), int(list["bury"]),pymysql.escape_string(list["content"]))

cursor.execute(sql1 % data)