abl*_*mit 2 python database string
我正在解析xml文件并将其插入数据库.但是,由于某些文本包含双引号或单引号,我遇到插入问题.目前我正在使用下面显示的代码.但它似乎效率低下.
s = s.replace('"', ' ')
s = s.replace("'", ' ')
Run Code Online (Sandbox Code Playgroud)
有没有什么方法可以插入文本而不替换这些引用?
要么
有没有有效的方法来有效地替代它们?
谢谢 !
Jon*_*erg 12
为什么不能将包含引号的字符串插入数据库?是否有一些奇怪的数据类型允许除引号之外的任何字符?或者您是insert使用文字字符串构建语句,而不是像您应该那样将字符串绑定到查询参数?
如果你在做
cursor.execute('insert into mytable (somefield) values ("%s")' % (mystring))
Run Code Online (Sandbox Code Playgroud)
那是不安全和错误的.相反,你应该这样做
cursor.execute('insert into mytable (somefield) values (%(myparam)s)',
dict(myparam=mystring))
Run Code Online (Sandbox Code Playgroud)