首页 > 数据库 > mysql教程 > 如何将变量安全地插入Python的SQL语句中?

如何将变量安全地插入Python的SQL语句中?

Linda Hamilton
发布: 2025-01-25 15:27:11
原创
262 人浏览过

How to Safely Insert Variables into SQL Statements from Python?

在 Python 代码中使用 SQL 语句中的变量

为了在 Python 编写的 SQL 语句中插入变量,必须以特定方式表示参数,以防止它们作为查询文本本身的一部分包含在内。正确的语法涉及使用占位符并将变量作为元组传递。

考虑以下 Python 代码示例:

<code class="language-python">cursor.execute("INSERT INTO table VALUES var1, var2, var3")</code>
登录后复制

其中 var1 是整数,var2 和 var3 是字符串。

为了在不将这些变量作为查询文本的一部分包含在 Python 中的情况下合并这些变量,请使用以下语法:

<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))</code>
登录后复制

这里的关键区别在于在 SQL 语句中使用占位符 (%s) 并将变量作为元组传递(括在括号中)。数据库 API 自动处理转义和引用,确保数据安全地合并到查询中。

避免使用字符串格式化运算符 (%) 直接传递变量,因为它会跳过任何必要的转义或引用,使代码容易受到 SQL 注入等攻击。

以上是如何将变量安全地插入Python的SQL语句中?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板