cur.execute(sql,args)和cur.execute(sql)的區別


轉: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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM