SQLite 参数替换是否会导致 Python 中的绑定错误?

Linda Hamilton
发布: 2024-10-19 15:23:30
原创
603 人浏览过

Is SQLite Parameter Substitution Causing Binding Errors in Python?

SQLite 参数替换问题

在 Python 2.5 中使用 SQLite3 时,尝试迭代列表并从中检索数据时会出现一个常见问题一个数据库。使用建议的“?”作为 SQL 注入预防措施的参数通常会导致有关绑定数量的错误。

经过调查,很明显该错误源于数据库表的初始创建。创建语句,例如:

<code class="sql">CREATE TABLE Equipment (id INTEGER PRIMARY KEY, name TEXT, price INTEGER, weight REAL, info TEXT, ammo_cap INTEGER, availability_west TEXT, availability_east TEXT);</code>
登录后复制

注册八个绑定,即使在查询期间只使用一个参数。

要解决此问题,请修改代码以使用序列作为 Cursor.execute() 方法的第二个参数:

<code class="python">self.cursor.execute("SELECT weight FROM Equipment WHERE name = ?", [item])</code>
登录后复制

此修改确保向方法提供序列,解决绑定数量的混乱。

引用SQLite3 游标对象文档可以提供有关此主题的进一步指导。

以上是SQLite 参数替换是否会导致 Python 中的绑定错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!