[英]How can I concatenate a variable with another string variable in Selenium?
[英]Concatenate string with another that contains a variable
我在使用MySQLdb的Python中有一個MySQL查詢,我想根據是否提供LIMIT來給我不同數量的行。
因此,類似:
sql = "SELECT URL, Name AS Category
FROM sitelist sl
INNER JOIN sitecategory sc ON sc.PlacementCategory_id = sl.Category_id "
if limit > 0 :
sql += "LIMIT %s", (limit)
但是,這失敗了:
TypeError: cannot concatenate 'str' and 'tuple' objects
如何在保持查詢“安全”的同時連接包含limit
數的字符串? 在以上是單個字符串的情況下,以上內容可以正常工作。
在PHP中,我將只使用帶有bindparam()
的准備好的PDO語句,但是在Python中找不到任何類似的東西。
我認為最簡單的方法是:
sql = ("SELECT URL, Name AS Category "
"FROM sitelist sl "
"INNER JOIN sitecategory sc ON sc.PlacementCategory_id = sl.Category_id")
if limit > 0:
whatever.execute(sql+" LIMIT %s", (limit,))
else:
whatever.execute(sql)
請注意: sql
在每行上都應有開和引號; 並且limit
需要在一個元組中作為execute
的參數。
使用string
格式。
sql = "SELECT URL, Name AS Category\n\
FROM sitelist sl\n\
INNER JOIN sitecategory sc ON sc.PlacementCategory_id = sl.Category_id "
if limit > 0: # you don't need parenthesis in python
sql += "LIMIT {}" .format(limit)
或使用format specifier
。
sql = "SELECT URL, Name AS Category\n\
FROM sitelist sl\n\
INNER JOIN sitecategory sc ON sc.PlacementCategory_id = sl.Category_id "
if(limit > 0):
sql += "LIMIT %d" %limit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.