轉:https://blog.csdn.net/mjjyszazc/article/details/88932664
方式一:
userid = “123”
sql = “select id,name from user where id = ‘%s’” % userid
cur.execute(sql)
方式二:
“”"
sql語句模板中的參數填充符是 %s 而不是 ‘%s’ ,且多個參數需要用元祖存放,單個參
數可直接傳遞
“”"
userid = “123”
sql = "“select id,name from user where id = %s and name =%s”
cur.execute(sql, (‘123’, ‘雲天明’))
區別:
方式一會存在sql注入的風險,方式二中用python內置的方法可以對sql語句中傳入的參數進行校驗,在一定程度上屏蔽掉sql注入,增加了sql的安全性,在不便直接使用sqlArchemy框架(底層實現也是調用的方式二)的情況下,建議選擇方式二
---------------------
作者:凌寒獨自開
來源:CSDN
原文:https://blog.csdn.net/mjjyszazc/article/details/88932664
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!