我正在尝试进行字符串替换
self.cursor.execute("select (1) from eScraperInterfaceApp_scrapeddata where productURL = '%s' limit 1") % URL
错误
% 不支持的操作数类型:“long”和“unicode”
productURL 是 unicode,所以我该如何替换它...有人可以帮我吗
我正在尝试进行字符串替换
self.cursor.execute("select (1) from eScraperInterfaceApp_scrapeddata where productURL = '%s' limit 1") % URL
错误
% 不支持的操作数类型:“long”和“unicode”
productURL 是 unicode,所以我该如何替换它...有人可以帮我吗
你的代码正在做:
self.cursor.execute("SQL template") % URL
它应该是:
self.cursor.execute("SQL template" % URL)
改变 的位置)
:
self.cursor.execute("select (1) from eScraperInterfaceApp_scrapeddata where productURL = '%s' limit 1" % URL)
实际上更正确的方法是使用查询参数(以防止 SQL 注入):
self.cursor.execute("select (1) from eScraperInterfaceApp_scrapeddata where productURL = %s limit 1", (URL,))
您没有指定使用什么数据库(和 DBAPI 驱动程序),但 PEP 249 要求 DBAPI 支持参数替换,因此使用它而不是 Python 字符串格式会更好。
cursor.execute(
"select (1) from eScraperInterfaceApp_scrapeddata where productURL = %s limit 1;",
(URL,))
(注意参数占位符周围缺少引号,参数为 1 元组)。