如何使用Python检查MySQL数据库中是否已经存在用户名和密码?

时间:2018-11-30 02:27:52

标签: python mysql scripting pymysql

我有一个html登录表单。该表单收集用户的用户名和密码。我也有一个脚本来收集并存储它们。我想知道在存储到数据库之前,是否可以检查用户名和密码是否已经存在于MySQL数据库中。

HTML格式:

<!DOCTYPE html>
<html>
<head>
    <title>login</title>
</head>
<body>
    <form action="login.py" method="GET">
        First name:<br>
        <input type="text" name="user_name"><br>
        Last name:<br>
        <input type="text" name="password"><br>
    </form>
</body>
</html>



Login script





import cgitb
   cgitb.enable()

   import cgi
   form = cgi.FieldStorage()
   user_name = form["user_name"].value
   password = form["password"].value

   import pymysql
   conn = pymysql.connect(db='userdb', 
   user='root', passwd='12346', 
   host='localhost')
   cursor = conn.cursor()

   query= "INSERT INTO users VALUES 
   ('{user_name}',{password})"   
 cursor.execute(query.format(user_name=user- 
    name, password=password))
    conn.commit()

是否可以检查html表单中的用户名和密码在数据库中是否匹配?

1 个答案:

答案 0 :(得分:0)

user_name上使用唯一键或主键,如果出现重复并会引发异常。

如果您以未加密的格式存储密码,请fix it,对您感到羞耻,

如果您将密码作为哈希值,则无法确定它们是否重复(这不是一件坏事)。