使用MySQLdb連接數據庫執行sql語句時,有以下幾種傳遞參數的方法:
一.通過自定義參數傳遞:
import pymysql import types dbinfo={"host":"192.168.6.41", "user":"lrtsaudio", "password":"2&Ty3DW75i!(vgo.l3Odp1fgWgEG", "db":"audiobook" } rule=1 sql="SELECT book_id,book_name FROM t_book WHERE market_rule=%s"% rule connect1=pymysql.connect(**dbinfo) cursor1=connect1.cursor() cursor1.execute(sql) r2=cursor1.fetchmany(2) print(r2) cursor1.close() connect1.close
*這種方法跟常規方法區別不大,且存在漏洞。有些時候不能正常解析,比如包含某些特殊字符,甚至會造成注入攻擊的風險。-----不常用,有人用的時候能看懂即可。
傳入多個參數的用法:
二.執行語句傳遞參數。(可傳遞多個參數)
...... #值用“%s”占位符占位(無論是字符串、數字或者其他類型,都是使用這個占位符) sql="SELECT book_id,book_name FROM t_book WHERE market_rule=%s" connect1=pymysql.connect(**dbinfo) cursor1=connect1.cursor() #執行時,傳遞對應的參數 cursor1.execute(sql,1) ......
三、使用字典類型傳遞參數
