Python 資料庫,操作mysql,防sql注入,引數化
阿新 • • 發佈:2018-12-07
demo.py(防sql注入):
from pymysql import * def main(): find_name = input("請輸入物品名稱:") # 建立Connection連線 conn = connect(host='localhost',port=3306,user='root',password='mysql',database='jing_dong',charset='utf8') # 獲得Cursor物件 cs1 = conn.cursor() # 非安全的方式。 不要自己手動拼裝sql語句。 # sql = 'select * from goods where name="%s"' % find_name # 安全的方式 # 構造引數列表 params = [find_name] count = cs1.execute('select * from goods where name=%s', params) # 通過params列表,自動填充%s # 注意: # 如果要是有多個引數需要進行引數化 # 那麼params = [數值1, 數值2....],此時sql語句中有多個%s即可 result = cs1.fetchall() print(result) cs1.close() conn.close() if __name__ == '__main__': main()