如何将html数据存储在mysql数据库中?

时间:2014-10-04 15:41:51

标签: python html mysql sql

我有一个用python编写的sql。

cur.execute("INSERT INTO products_details(
title,
description,
price,
currency,
sku,
brand,
colors,
sizes,
actual_url,
meta_title,
meta_keywords,
meta_description,
sizefitcontainer,
designercontainer,
wearwith,
colorthumb,
colorbig,
colormedium,
discount_price,
cat_name) 
VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')  ",  (
context['product_title'],
context['product_description'],
context['price'],
context['currency'],
context['productCode'],
context['brand_name'],
context['colors'],
context['sizes'],
context['actual_url'],
context['title'],
context['meta_keywords'],
context['meta_description'],
context['sizefitcontainer'],
context['designercontainer'],
context['wearwith'],
context['colorthumb'],
context['colorbig'],
context['colormedium'],
context['discount_price'],
context['cat_name']))

在上面的查询中有两个字段designercontainer , and sizefitcontainer我在其中传递一些html数据以存储在db中。 但每次我都会收到一些错误。

(<class '_mysql_exceptions.ProgrammingError'>, ProgrammingError(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Cosmic Leggings'',''These cropped KORAL ACTIVEWEAR leggings have iridescent cont' at line 1"), <traceback object at 0x2bc2638>).

我也尝试过utf编码也无法解决这个问题。请告诉我如何编写查询,以便两个字段都可以接受html值(嵌入js和css)。

context  is a python dict.

2 个答案:

答案 0 :(得分:1)

您应该在问题中包含product_details的结构。

根据错误判断,您没有正确引用要存储的HTML字符串。

答案 1 :(得分:0)

您需要将数据作为第二个参数传递为.execute()

所以它会像

sql = '''insert into headline (column,column1) 
                   values ("%s","%s","%s","%s","%s");'''

cursor.execute(sql, (values,values1))

在这里,您需要正确引用要存储到数据库中的html字符串..

您可以使用conn.escape_string()

转义值

看看here