[英]How to insert strings on a Python MySQL Query?
我是Python新手,正在嘗試查詢MySQL數據庫。 MySQL語法已在PHP上進行了測試,並且可以正常工作,但是Python參數對我來說是新的,並且給我一個錯誤。 你可以幫幫我嗎?
pom = "Alcobaça"
data_inicial = "2012-12-01"
data_final = "2012-12-05"
cur.execute("SELECT DATE(DTM), POM, ROUND(MIN(TMP),1)
FROM dados_meteo WHERE POM =%s
AND DATE(DTM) >=%s AND DATE(DTM) <=%s"
%(pom,data_inicial,data_final))
您似乎正在使用MySQLdb模塊。 如果是這樣,您可以(並且應該)使用execute
的內置第二個參數,並將輸入作為元組傳遞,如下所示:
c.execute( \
"SELECT DATE(DTM), POM, ROUND(MIN(TMP),1) FROM \
dados_meteo WHERE POM = %s AND DATE(DTM) >= %s AND DATE(DTM) <= %s", \
(pom, data_inicial, data_final))
這樣做而不是使用%
來內聯格式化字符串。 將數據提供給MySQLdb允許它引用和轉義您的字符串。 現在,查詢中的字符串都不會被引用或轉義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.