簡體   English   中英

sqlite3.OperationalError:接近“<”:語法錯誤

[英]sqlite3.OperationalError: near "<": syntax error

任何人都可以幫我解決這個問題我有錯誤 sqlite3.OperationalError: near "<": syntax error 我認為從 sql 但仍然卡在那里

def getProfile(id):
       connect = sqlite3.connect('C:///Users///Marvin///Desktop///Opencv-face-detection-python-master///SQL///sql.db')
       cur = connect.cursor()
       connect.execute("SELECT * FROM user WHERE id="+str(id))
       profile=None
       for row in cur:
         profile=row
       cur.close()
       return profile

我無法在測試中復制您的錯誤。

當我測試你的代碼時,我注意到一個問題

connect.execute("SELECT * FROM user WHERE id="+str(id))

我認為應該是

cur.execute("SELECT * FROM user WHERE id="+str(id))

這在我的測試期間有效。 請讓我知道這是否有效。 通過改變這個,函數返回一個結果,我能夠得到結果。

如果你不介意,我還有一個額外的建議給你。 你寫你的查詢方式很容易出現SQL注入攻擊如圖所示這里 我建議您按以下方式構建查詢。

cur.execute("SELECT * FROM user WHERE id=?",str(id))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM