【Python从入门到进阶】Mysql防止SQL注入及ORM库简化操作
from pymysql import connect
# 使用pymysql连接数据库并执行查询操作,防止SQL注入
def safe_query(sql, params):
# 连接数据库
connection = connect(host='localhost',
user='user',
password='password',
database='dbname',
charset='utf8mb4',
cursorclass=DictCursor)
try:
with connection.cursor() as cursor:
# 执行SQL语句
cursor.execute(sql, params)
# 获取所有结果
result = cursor.fetchall()
print(result)
finally:
connection.close()
# 示例SQL和参数
sql = "SELECT * FROM some_table WHERE column = %s;"
params = ('value',)
safe_query(sql, params)
这段代码使用了pymysql库来安全地执行SQL查询,防止了SQL注入攻击。通过使用参数化的查询,用户提供的值被安全地传递给数据库,不被解释为SQL代码的一部分。这是一个良好的编程习惯,应该在开发过程中被广泛采用。
评论已关闭