20220427-day47:避免SQL注入
user = input(“请输入用户名:”) # "" or 1=1 --
pwd = input("请输入密码") # 123
-- 表示会注释掉后面的密码验证,where条件被注释
or 1=1 表示恒成立
切记sql语句不要使用python的字符串格式化,而是使用pymysql的execute方法
import pymysql
# 输入用户名和密码
user = input("请输入用户名:")
pwd = input("请输入密码:")
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='root123', charset="utf8", db='userdb')
cursor = conn.cursor()
cursor.execute("select * from users where name=%s and password=%s", [user, pwd])
# 或
# cursor.execute("select * from users where name=%(n1)s and password=%(n2)s", {"n1": user, 'n2': pwd})
result = cursor.fetchone()
print(result)
cursor.close()
conn.close()