python - 将 Python 变量传递给“LIKE”SQL 查询
问题描述
我正在尝试将我的变量传递给带有“LIKE”的语句,但我遇到了各种格式错误。我尝试了 cursor.execute("SELECT title FROM movies WHERE title LIKE '%%s%'" %Keyword) 和它的其他变体,但没有任何效果。如何获得 LIKE 语句来解释我的变量?
我使用 MySQL 工作台和“关键字”变量将来自 FORM 标记的输入存储在 html 中。整个项目基于制作一个搜索网站。
解决方案
根据文档,您不应该使用这种格式化字符串的方式:
https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting
注意这里描述的格式化操作表现出各种怪癖,这些怪癖会导致许多常见错误(例如无法正确显示元组和字典)。使用较新的格式化字符串文字、str.format() 接口或模板字符串可能有助于避免这些错误。这些替代方案中的每一个都提供了它们自己的权衡和简单性、灵活性和/或可扩展性的好处。
示例.format
:
query = "SELECT title FROM movies WHERE title LIKE '%{s}%'".format(s=Keyword)
cursor.execute(query)
推荐阅读
- node.js - MongoError:没有可用的主服务器
- macos - 如何在 Catalina 的控制台中启动 emacs?
- bash - 通过 bash 脚本获取域的标题
- tensorflow - TensorFlow 对象检测 API 教程报错
- javascript - 如何使用 ionic 4 动态添加带有谷歌位置的文本字段
- javascript - 为什么右对齐仅适用于第一页菜单?另外如何使列强制,并添加小数点和逗号分隔符?
- python - Pyqt5 在两个小部件之间画一条线
- matlab - 错误“指定了太多返回参数。只指定一个。”
- python - 用scrapy抓取“查看更多”按钮
- android - 使用 Volley 解析嵌套的 JSON 对象