参数化 SQL 查询:导航“TypeError:并非所有参数在字符串格式化期间都已转换”
在 MySQLdb 中,执行参数化 SQL 查询可能会导致“类型错误:并非所有参数在字符串格式化期间都已转换。”当查询需要特定数量的参数,但提供的参数与期望不匹配时,就会出现此错误。
要纠正此错误,请用更现代的方法替换旧语法。而不是使用:
cur.execute("SELECT * FROM records WHERE email LIKE '%s'", search)
使用以下语法:
cur.execute("SELECT * FROM records WHERE email LIKE %s", [search])
execute() 中的第二个参数现在是包含要转换的参数的列表。此列表中的每个参数都必须可转换为查询中预期的数据类型。在这种情况下,查询需要一个字符串,因此搜索需要包含在一个单元素列表中。
以上是为什么我的参数化 MySQL 查询会抛出'类型错误:字符串格式化期间未转换所有参数”?的详细内容。更多信息请关注PHP中文网其他相关文章!