怎样使python的字符串在sql语句中为自然字符串。

在Python中,可以用单引号、双引号、三引号表示字符串,但是这些还不够,例如执行下面的代码:

co = cur.execute("select id from %s where %s = '%s'" % (table, field, value))
假如这个value中,包含单引号,就会出现错误,进一步改为:

co = cur.execute('''select id from %s where %s = "%s"''' % (table, field, value))

但是如果vlaue中含有双引号,照样会出错,因此需要忽略value中这些特殊的符号,

因此只需把上面的语句中vlaue改成re.escape(value)即可,但是别忘了加载import re库。

参考:
【1】Escaping chars in Python and sqlite http://stackoverflow.com/questions/3220005/escaping-chars-in-python-and-sqlite

你可能感兴趣的:(怎样使python的字符串在sql语句中为自然字符串。)