「不是所有的參數,而字符串格式化轉換」當我執行以下程序如何解決Python的錯誤
import MySQLdb
cn = MySQLdb.connect(host="localhost", user="root", passwd="mysqlroot",
db="sv_data")
cursor = cn.cursor()
cursor.execute("select addressline1, zipcode from sv_address where zipcode = '10011'")
for (addressline1, zipcode) in cursor:
print(addressline1, zipcode)
cursor.close()
cn.close()
它工作正常。然而,當我嘗試添加一個參數查詢,如下面
import MySQLdb
cn = MySQLdb.connect(host="localhost", user="root", passwd="****",
db="sv_data")
cursor = cn.cursor()
a="10011"
cursor.execute("select addressline1, zipcode from sv_address where zipcode =
%s", (a))
for (addressline1, zipcode) in cursor:
print(addressline1, zipcode)
cursor.close()
cn.close()
收到錯誤ProgrammingError:不是字符串格式化
可以請指教如何解決這一問題過程中轉換的所有參數。我嘗試了各種選擇。 zipcode是mysqldb中的varchar字段
你嘗試過嗎?''選擇addressline1,從sv_address的郵政編碼,其中zipcode ='%s''作爲查詢? –
你正在追蹤什麼?在 cursor.execute –
( 「選擇addressline1,從sv_address郵編其中郵政編碼= '%s' 的」 中,(a)) 文件「C:\ ProgramData \ Anaconda3 \ lib中\站點包\ MySQLdb的\ cursors.py 「,第240行,執行 self.errorhandler(self,ProgrammingError,str(m)) 文件」C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ MySQLdb \ connections.py「,第52行,在defaulterrorhandler raise errorclass(errorvalue) ProgrammingError:並非在字符串格式化過程中轉換的所有參數 – Adisheshaiah