簡體   English   中英

psycopg2.ProgrammingError:“您的姓名”列不存在

[英]psycopg2.ProgrammingError: column “your name” does not exist

當我嘗試使用代碼上傳PlayerScore

if Number.PlayerScore > Score.interact_database("SELECT Score FROM score WHERE Name = %s;" % Player_Name, False,)[0][0]

到Python中的PostgreSQL數據庫時,出現以下錯誤: psycopg2.ProgrammingError: column "your name" does not exist ,其中“您的名字”是變量Player_Name。 但是,當我在PostgreSQL查詢工具中運行它時,它運行良好。 有誰知道為什么會出現此錯誤,以及如何防止將來再次發生?

http://initd.org/psycopg/docs/usage.html#the-problem-with-the-query-parameters

我認為我們需要查看更多代碼,但根據文檔:

從不,從不,從不使用Python字符串串聯(+)或字符串參數插值(%)將變量傳遞給SQL查詢字符串。 甚至沒有槍口。

嘗試將參數作為您的cursor.execute()方法的第二個參數傳遞。 使用類似:

cursor.execute("""SELECT Score FROM score WHERE Name = %(player)s""", {'player': player_name } )
cursor.fetchone()

應該管用。 它也可以接受值的元組。

暫無
暫無

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

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