使用pymsql
知人pymysqlモジュール
ユーザーのID、ユーザー名、パスワードを含むデータベーステーブル内のユーザー情報を、作成します。
作成 、テーブルのuserinfo( UIDのint型 ではない nullを AUTO_INCREMENT 、主 キー、 ユーザ名VARCHAR(32 )、 PWD VARCHAR(32 ) )エンジン= InnoDBのデフォルトのcharset = UTF8。
ユーザーの情報を増やします。
挿入 中にユーザー情報(ユーザ名、PWD)値(' jxson '、' A123 ');
ユーザーがシミュレートされた着陸効果pymysqlモジュールを使用してデータベースから情報を取得します:
インポートpymysqlの ユーザー = INPUT(' ユーザー名:') #は、ユーザーの名前を入力します PWD = INPUT(' :パスワードは') #は、ユーザーのパスワードを入力します コネティカット= pymysql.connect(ホスト= ' localhostの'、=ユーザー' ルート' =、パスワードを'' 、データベース= ' DB1 ') #は、データベースへの接続 )(カーソル= conn.cursor #カーソルは、私たちは、データの取得を支援するためのカーソルです sql_search = " のUserInfoからWHEREユーザー名= '%のS'とPWD = '%S' SELECT *を"%(ユーザー、PWD、) #のSQL文の cursor.execute(sql_search)# の実行をSQL文は cursor.fetchone =()GET_ONE #データのセット取る cursor.closeを() #は、カーソルクローズ はconn.close() #は接続を閉じ た場合GET_ONE: #はデータを取得することがあるかどうかを判断する 印刷(「!成功した着陸」) 印刷(GET_ONEを) 他: 印刷(「ログインに失敗しました!」)
結果:
ユーザ名:jxson パスワード:A123の 着陸成功! ( 1、' jxson '、' A123 ')
SQLインジェクションを防ぐ改良された方法
1。
sql_search = " ここで、ユーザ名=%SおよびPWD =%sのユーザー情報SELECT * FROM " cursor.execute(sql_search、ユーザ、PWD)
2.リスト表現
sql_search = " ここ=%sのユーザー名およびPWD =%sのユーザー情報SELECT * FROM " cursor.execute(sql_search、[ユーザ、PWD])
3.辞書表現
sql_search = " ここで、ユーザ名=%(U)sおよびPWD =%(P)のユーザー情報SELECT * FROM " cursor.execute(sql_search、{ ' U ':ユーザー、' P ':PWD})