我正在尝试将完整的文章插入MySQL数据库,但没有成功。
我认为我有一个编码问题,因为当我打印时,它开始了
'[u' ..我已经尝试了一些代码,但是没有用。内容/文章可能包含,",导致sql文本混乱

这是我的代码,它引发错误输入。

    k1 = str(mmhtml)
    for filde in cur.fetchall():
         faliase = filde[0]
         fpattern = filde[1]
         furutan = filde[2]
         fopsi = filde[3]
         freplacer = filde[4]
         k1 = re.sub(fpattern , freplacer, k1)
         k2 = k1.encode('ascii')

    Item['konten'] = k2.strip()

    sqlinsert = "INSERT IGNORE INTO tb_hasil(title, \
            datee, content, author, ling) \
            VALUES ('%s', '%s', '%s', '%s', '%s' )" % \
            (jdl, tgl, k2.strip() , sauto,str(response.url))
    try:
         cur.execute(sqlinsert)
    except:
         print "error input"


提前致谢

最佳答案

您好,您使用哪个图书馆?

据我所知,大多数库都实现DB-API公用。因此,您可以通过防止SQL注入的参数化发送数据。

我在python中使用oursql,语法为:

curs.execute('SELECT * FROM `some_table` WHERE `col1` = ? AND `col2` = ?',
(42, -3))


所以您将值替换为?并在元组中传递参数

//curs.execute("... INTO Values (?, ?, ?)", (1,2,3))

10-06 11:20