TypeError:在参数化 SQL 查询中进行字符串格式化期间,并非所有参数都已转换
参数化 SQL 查询的代码会抛出错误“TypeError:并非所有参数在字符串格式化期间都已转换”,因为您尝试直接将字符串替换到查询中。这种方法不起作用,因为它需要将参数列表转换为查询。
要纠正此问题,而不是使用:
cur.execute( "SELECT * FROM records WHERE email LIKE '%s'", search )
将代码修改为:
cur.execute( "SELECT * FROM records WHERE email LIKE %s", [search] )
根据 MySQLdb 文档,execute() 的第二个参数表示要转换的对象列表,允许任意数量的对象单个查询。在你的例子中,尽管只有一个对象,它仍然需要是一个可迭代的。
以上是如何修复参数化 MySQL 查询中的'TypeError: Not All Arguments Converted”?的详细内容。更多信息请关注PHP中文网其他相关文章!