我正在尝试使用MySQL Python和Flask创建一个图书数据库系统。我的Books表中的3列是title, author和publish_year。
我有一个SQL命令写着
"SELECT * FROM Books WHERE title=" + str(title)"
当我试图用
调用端点时http://127.0.0.1:5000/getbookfromtitle/Twilight
我得到错误
Unknown column 'Twilight' in 'where clause'
有人知道是什么导致这个错误吗?我的完整的Flask函数是
@app.route("/getbookfromtitle/<title>", methods=["GET"])
def getBookFromTitle(title):
if request.method == "GET":
sql = "SELECT * FROM Books WHERE title=" + str(title)
mycursor.execute(sql)
result = mycursor.fetchall()
for x in result:
print(x)
return str(result)
没关系,我想我弄明白了。
I have to do
mycursor.execute("SELECT * FROM Books WHERE title=%s", (title,))
在我这样做之后,不知为什么它工作了。