2017-08-05 6 views
0

名前とパスワードで見つかった特定のデータエントリのタイプが文字「T」か番号1〜6かどうかを確認しようとしています。 SQLクエリの結果を保存して使用する方法は?

sql = 'SELECT type FROM table name WHERE name = "{}" AND password = "{}"'.format(username, password) 

、その後psedocodeに私のようなものが必要です。私はここでのpython 2.7

+0

@py_noob私はMySQLを使用していると私はタイプが値以下の5 – Eli

答えて

0

を使用しています

if type =< 5: 
     int() 
elif type = "T" 
     string() 

は、MySQL DBを照会し、使用する完全なスクリプトは、あなたの、上記値を印刷するロジック。このテストケースのサンプルデータベースコードと同様に、Pythonコードも含めました。ご質問がある場合はお知らせください。

Pythonの

import pymysql 

connection = pymysql.connect(user='username', passwd='password', 
           host='localhost', 
           database='database') 

cursor = connection.cursor() 

NAME = 'Person_A' 
PASSWORD = 'Password_A' 
query = ("SELECT * FROM My_TABLE WHERE NAME = '%(1)s' AND PASSWORD = '%(2)s';" % {"1" : NAME, "2" : PASSWORD}) 


cursor.execute(query) 

for item in cursor: 

    type = item[0] 

    if type.isdigit(): 
     if int(type) <6: 
      print('Type is a number less than 6') 
     else: 
      print('Type is a number but not less than 6') 
    else: 
     if type == 'T': 
      print('Type is a string == T') 
     else: 
      print('Type is a string but not the letter T') 

MYSQL

CREATE TABLE MY_TABLE (TYPE VARCHAR(255), NAME VARCHAR(255), PASSWORD VARCHAR(255)); 

INSERT INTO MY_TABLE VALUES ('T','Person_A','Password_A'),('4','Person_A','Password_A'),('7','Person_B','Password_B'),('t','Person_C','Password_C'); 
+0

されていないかどうかを確認しようとしていますかなり、私はそれがSQLテーブルの一部であるため、タイプ= 'T'を呼び出すことができないので、sqlコマンドを実行しようとしています。 – Eli

+0

@Eliを更新しました、上記を使用してください –

関連する問題