python mysql where子句中的错误
我是python的新手。我编写了一个小代码来连接数据库并从数据库中获取数据。我使用Python3.4和mysql.connector来连接数据库 HTML表单用于获取名称和密码。代码如下所示python mysql where子句中的错误,python,html,mysql,apache,localhost,Python,Html,Mysql,Apache,Localhost,我是python的新手。我编写了一个小代码来连接数据库并从数据库中获取数据。我使用Python3.4和mysql.connector来连接数据库 HTML表单用于获取名称和密码。代码如下所示 <html> <head> <title>test</title> <link rel="stylesheet" type="text/css" href="wel.css"> </head> <body>
<html>
<head>
<title>test</title>
<link rel="stylesheet" type="text/css" href="wel.css">
</head>
<body>
<form action="/cgi-bin/python1.py" method="post">
<label>First Name: <input type="text" name="first_name"></label><br />
<label>Password:<input type=password name="pass" /></label><br />
<input type="submit" value="Submit" />
</form>
</body>
</html>
但是where子句的赋值错误。我没有得到什么语法错误。请给出建议
错误为:
ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s' at line 1
args = (1064, "1064 (42000): You have an error in your SQL synt...n for the right syntax to use near '%s' at line 1", '42000')
errno = 1064
msg = "You have an error in your SQL syntax; check the ...n for the right syntax to use near '%s' at line 1"
sqlstate = '42000'
with_traceback = <built-in method with_traceback of ProgrammingError object>
ProgrammingError:1064(42000):您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取第1行“%s”附近要使用的正确语法
args=(1064,“1064(42000):您的SQL语法中有一个错误…n在第1行的“%s”附近使用正确的语法,'42000')
errno=1064
msg=“您的SQL语法有错误;请检查第1行“%s”附近的…n以了解要使用的正确语法”
sqlstate='42000'
带_回溯=
您错过了单引号,正如@Matthias所说,第二个参数是元组
cursor.execute("""SELECT pass FROM tablename1 where name='%s'""", (first_name, ))
您错过了单引号,正如@Matthias所说,第二个参数是元组
cursor.execute("""SELECT pass FROM tablename1 where name='%s'""", (first_name, ))
您错过了单引号,正如@Matthias所说,第二个参数是元组
cursor.execute("""SELECT pass FROM tablename1 where name='%s'""", (first_name, ))
您错过了单引号,正如@Matthias所说,第二个参数是元组
cursor.execute("""SELECT pass FROM tablename1 where name='%s'""", (first_name, ))
使用该解决方案(删除参数化语句),您创建了一个新的可能性。@Matthias您是对的。我编辑了我的答案。谢谢。@liushuaikobe for where子句中的2个参数。请检查写入游标的方式是否正确。执行(““从tablename1中选择名称,其中名称='%s',传递='%s'””)”(名字,密码))@user092签出。示例代码显示了如何使用
光标。使用您创建的解决方案(删除参数化语句)执行。@matthia您是对的。我编辑了我的答案。谢谢。@liushuaikobe for where子句中的2个参数。请检查写入游标的方式是否正确。执行(““从tablename1中选择名称,其中名称='%s',传递='%s'””)”(名字,密码))@user092签出。示例代码显示了如何使用光标。使用您创建的解决方案(删除参数化语句)执行。@matthia您是对的。我编辑了我的答案。谢谢。@liushuaikobe for where子句中的2个参数。请检查写入游标的方式是否正确。执行(““从tablename1中选择名称,其中名称='%s',传递='%s'””)”(名字,密码))@user092签出。示例代码显示了如何使用光标。使用您创建的解决方案(删除参数化语句)执行。@matthia您是对的。我编辑了我的答案。谢谢。@liushuaikobe for where子句中的2个参数。请检查写入游标的方式是否正确。执行(““从tablename1中选择名称,其中名称='%s',传递='%s'””)”(名字,密码))@user092签出。示例代码显示了如何使用光标。execute
您需要一个元组作为execute
的第二个参数:光标。execute(“'SELECT pass FROM tablename1 WHERE name=%s”“”,(first_name,)
您需要一个元组作为execute
光标的第二个参数。execute('“从tablename1中选择pass,其中name=%s”“,(first_name,)
您需要一个元组作为execute
:游标的第二个参数。execute(““从tablename1中选择pass,其中name=%s”“,(first_name,)”
您需要一个元组作为execute
游标的第二个参数。execute(”“从tablename1中选择pass,其中name=%s”“,(名字),)