IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Sqlite报错:sqlite3.OperationalError: near “%“: syntax error -> 正文阅读

[游戏开发]Sqlite报错:sqlite3.OperationalError: near “%“: syntax error

问题

        sql_add = 'insert into images(id, gray1, contrast1, gray2, contrast2, level) values(%s, %s, %s, %s, %s, %s)'

        # 执行语句
        #execute(self, query, args)
        cur.execute(sql_add, (str_id, str_gray1, str_contrast1, str_gray2, str_contrast2, str_level))

原因

官方文档有这样一句话:
You shouldn’t assemble your query using Python’s string operations because doing so is insecure;

在这里插入图片描述意思是SQL 语句在传参时,应该避免使用 Python 的字符串操作,因为这样做不安全。

解决

正确的做法是,在需要使用值的位置用占位符?替代。有两种占位符:qmark stylenamed style

  • qmark:cur.execute("create table lang (name, first_appeared)")
  • named style:cur.execute("select * from lang where first_appeared=:year", {"year": 1972})

修该后:

sql_add = 'insert into images(id, g, c, l) values(?, ?, ?, ?, ?, ?)'
# 执行语句
cur.execute(sql_add, (str_id, str_g, str_c, str_l))

很奇怪,在使用 MySQL 的时候并没有相关错误!

参考:

  1. DB-API 2.0 interface for SQLite databases? ——官方文档,值得好好读一读
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-10-17 12:17:25  更:2021-10-17 12:18:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 0:48:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码