SyntaxError:python mysql登录中的语法无效

2024-07-04 08:15:24 发布

您现在位置:Python中文网/ 问答频道 /正文

C:\Python34\python.exe C:/Users/Stig/Desktop/python/main.py   
File "C:/Users/Stig/Desktop/python/main.py", line 9
    if(query.execute("SELECT * FROM 'USERS' where 'username'" + `username` + "' AND `password`='" + `password`)):
                                                                ^ 
SyntaxError: invalid syntax

Code:

^{pr2}$

有人能帮忙吗?在


Tags: pyexecuteifmainlineusernamepasswordquery
2条回答

回溯显示您使用的是旧的repr语法`backticks`。你在这里展示的代码是不正确的。在

反勾在python2中确实有效,但在python3中不再有效。在

总而言之,这种技术存在严重缺陷-repr不能保证提供与SQL兼容的输出;而且您很容易受到SQL注入的攻击。您应该在SQL查询中使用占位符:

query.execute("SELECT * FROM USERS where username = %s AND password = %s", 
    (username, password))

username字段名后缺少=。另外,为什么不使用python命令替换来获得更好的清晰度:

"SELECT * FROM USERS where username={0} AND password={1}".format(username,password)

相关问题 更多 >

    热门问题