1

だから、私は初心者の MySQL の男であり、基本的な知識の Python の男です。どんな助けでも事前に大歓迎です。これに関連する特定のスレッドを検索しましたが、空白になっています。問題: 名と姓を入力できるようにしたいテーブルがあり、それらがいずれかのレコードと一致する場合は、行のデータとテーブルの名前を返します。とても単純に聞こえますが、おそらくジェダイ向けですが、文字列のフォーマット中に TypeError:not all arguments conversion が発生します

私のコード:

import pymysql

user_input_fname = input("Please enter client first name and press Enter button: ")
user_input_lname = input("Please enter client last name and press Enter button: ")


db = pymysql.connect(host='127.0.0.1', port=44420, user='*****', passwd='*************', db='************')
cursor = db.cursor()
cursor.execute("""SELECT Named_Insured_First_Name, Named_Insured_Last_Name FROM condo_rented_to_others WHERE Named_Insured_First_Name='user_input_fname' AND Named_Insured_Last_Name='user_input_lname' """, (user_input_fname, user_input_lname,))

# calls fetchone until None is returned (no more rows)
for row in iter(cursor.fetchone, None):
    print ('condo_rented_to_others')
    print(row)
4

1 に答える 1

1

リテラル値「user_input_fname」と「user_input_fname」を照会しています。代わりに、パラメーター置換を使用して変数の値を挿入する必要があります。

cursor.execute("""SELECT Named_Insured_First_Name, Named_Insured_Last_Name FROM condo_rented_to_others WHERE Named_Insured_First_Name=%s AND Named_Insured_Last_Name=%s """, (user_input_fname, user_input_lname,))
于 2014-06-17T19:28:05.760 に答える