[英]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.