首页 >后端开发 >Python教程 >如何修复参数化 MySQL 查询中的'TypeError: Not All Arguments Converted”?

如何修复参数化 MySQL 查询中的'TypeError: Not All Arguments Converted”?

Linda Hamilton
Linda Hamilton原创
2024-12-10 14:04:10380浏览

How to Fix

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn