PyMYSQL查询未返回所需结果

时间:2014-06-17 19:23:18

标签: python mysql pymysql

所以,我是一个新手MySQL家伙和基础知识Python人。任何帮助都提前很感激。我已经搜索了与此相关的特定线程但是空白了。 问题: 我有一个表,我希望能够输入名字和姓氏,如果它们匹配任何记录,则返回行中的数据和表的名称。听起来很简单,可能是jedi,但是,我得到一个TypeError:并不是在字符串格式化过程中转换的所有参数

我的代码:

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)

1 个答案:

答案 0 :(得分: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,))