我是Flask、Psycopg2和Python的初学者,我有一个小问题,我创建了一个input()变量来读取用户的答案,我希望这个答案被放入数据库表的特定列中
print('Are the eyes Open or Closed?: ')
estate1 = input()
def update_Eyes(self):
update_command = ("UPDATE Eyes SET cstate=%s Where id=1", (estate1,))
self.cursor.execute(update_command)
print("Eye table update successful ")
database_connection = DatabaseConnection()
database_connection.update_Eyes()
如果我自己尝试添加任何值,效果很好,但似乎找不到添加变量的解决方案
错误代码如下所示:
Traceback (most recent call last):
File "C:/Users/AJ/Desktop/Data Processing/Flask/first.py", line 136, in <module>
database_connection.update_Eyes() # Updates Table Eyes
File "C:/Users/AJ/Desktop/Data Processing/Flask/first.py", line 98, in update_Eyes
self.cursor.execute(update_command)
TypeError: argument 1 must be a string or unicode object: got tuple instead
将命令编译成
update_command
时,将其存储为元组:错误是它需要一个字符串。因此,将
update_command
更改为:更改后,您将看到如下内容:
如果您担心SQL注入,you can visit this explanation of how to handle user input correctly.
这是一个完美的解决方案
我只需要在“{0}”周围添加额外的引号,使它能够读取字符串,并且工作得非常好。非常感谢。:)
相关问题 更多 >
编程相关推荐