日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python連接mysql服務(wù)端

系統(tǒng) 1758 0

python連接mysql的客戶端

          
            import pymysql # 導入模塊
conn = pymysql.connect(
    host='127.0.0.1', # 主機模塊
    port=3306, # 端口號
    user='root',# 用戶名
    password='123', # 密碼
    database='db', # 需要連接的庫
    charset='utf8' # 指定編碼utf8
)
cursor = conn.cursor() # 獲取游標 
# cursor = conn.cursor(pymysql.cursors.DictCursor) # 獲取的查詢結(jié)果更加規(guī)范化 便于分辨
sql = "select * from dep;"
ret = cursor.execute(sql) # ret 受影響的行數(shù)
# res = cursor.executemany(sql,[(a,b),(a1,b1),(a2,b2)]) # 插入多行數(shù)據(jù)時 
print(cursor.fetchall())  # 取出所有的
print(cursor.fetchmany(3))# 取出多條
print(cursor.fetchone())  # 取出單條

cursor.scroll(3,'absolute') # 絕對移動,按照數(shù)據(jù)最開始位置往下移動3條
cursor.scroll(1,'relative') # 通過上面取了一次數(shù)據(jù),游標的位置 ,我現(xiàn)在相對移動了1個記錄,那么下次再取,取出的是第三條,我相對于上一條,往下移動了一條
conn.commit()  # 增刪改操作時,需要進行提交

cursor.close() # 關(guān)閉游標
conn.close() # 關(guān)閉連接
          
        

MySQL注入問題

之前我們進行用戶名密碼認證是先將用戶名和密碼保存到一個文件中,然后通過讀文件里面的內(nèi)容,來和客戶端發(fā)送過來的用戶名密碼進行匹配,現(xiàn)在我們學了數(shù)據(jù)庫,我們可以將這些用戶數(shù)據(jù)保存到數(shù)據(jù)庫中,然后通過數(shù)據(jù)庫里面的數(shù)據(jù)來對客戶端進行用戶名和密碼的認證。

? 自行創(chuàng)建一個用戶信息表userinfo,里面包含兩個字段,username和password,然后里面寫兩條記錄

          
            sql注入:解決方案
    cursor.excute(sql,[參數(shù)1,參數(shù)2...])
# 使用數(shù)據(jù)來進行一下用戶名和密碼的認證操作
import pymysql

conn = pymysql.connect(
    host='127.0.0.1',
    port=3306,
    user='root',
    password='123',
    database='db',
    charset='utf8'
)

cursor = conn.cursor(pymysql.cursors.DictCursor)
usr = input('請輸入用戶名:').strip()
pwd = input('請輸入密碼:').strip()
# 當已知用戶名時 破解密碼為 (feng'-- dfadasdad)
# 當未知用戶名密碼時 破解密碼為 (fsdf' or 1=1 -- fdsfsdfs)

sql = "select * from userinfo where username='%s' and password='%s';"%(usr,pwd)

res = cursor.execute(sql) # res我們說是得到的行數(shù),如果這個行數(shù)不為零,說明用戶輸入的用戶名和密碼存在,如果為0說名存在,你想想對不

print(res) # 如果輸入的用戶名和密碼錯誤,這個結(jié)果為0,如果正確,這個結(jié)果為1
if res:
    print('登陸成功')
else:
    print('用戶名和密碼錯誤!')

# 通過上面的驗證方式,比我們使用文件來保存用戶名和密碼信息的來進行驗證操作要方便很多。
          
        

解決注入問題

          
            sql = "select * from userinfo where username = %s and password = %s;"%(usr,pwd)
res = cursor.execute(sql,[usr,pwd]) # pymysql 模塊會自動將輸入的特殊字符刪除
          
        

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 顺义区| 乾安县| 南乐县| 贡觉县| 深水埗区| 黄龙县| 平阴县| 西充县| 上杭县| 博爱县| 五原县| 额尔古纳市| 石门县| 无棣县| 东城区| 甘孜县| 达孜县| 东丽区| 新野县| 伊金霍洛旗| 台东县| 永州市| 从江县| 黄山市| 封丘县| 儋州市| 西安市| 宁化县| 仪征市| 彭山县| 汨罗市| 边坝县| 临澧县| 永州市| 葫芦岛市| 凤山县| 西华县| 铁力市| 深州市| 兴隆县| 康保县|