当前位置: 首页 > 知识库问答 >
问题:

如何在python中存储postgres的单引号[重复]

储峻
2023-03-14
{
"status": 2,
"records": 1,
"message": "OK",
"id": "131",
"name": "SUPA'AT",
"address": "RUNGKUT SA'GIRI"
}

我的python代码:

sql = "UPDATE my_data SET name='"+str(response["name"])+"', address='"+str(response["address"])+"' WHERE id='"+id+"'"
cursor.execute(sql)
conn.commit()  

共有1个答案

糜雪峰
2023-03-14

请执行以下操作:

sql = "UPDATE my_data SET name = %s, address = %s WHERE id = %s"
cursor.execute(sql, response["name"], response["address"], id)
conn.commit()  

假设您以前在某个地方分配了ID

您共享的代码是SQL代码注入的噩梦,正如@packetloss在注释中所指出的,并在https://owasp.org/www-community/attacks/sql_inject上解释了这一点

 类似资料:
  • 问题内容: Python中的单引号与双引号 问题答案: 我喜欢在用于插值或自然语言消息的字符串周围使用双引号,对于像符号一样小的字符串使用单引号,但是如果字符串包含引号或者我忘记了,则会违反规则。我对文档字符串使用三重双引号,对正则表达式使用原始字符串文字,即使不需要它们也是如此。 例如:

  • 问题内容: 这个问题已经在这里有了答案 : UTF-8贯穿始终 (15个答案) 5年前关闭。 我将PHP字符集设置为: 我已经将MySQL中的列设置为collat​​ion 。 但是,PHP中的以下代码: 在MySQL中产生以下字符: 如何获得符号以正确存储在MySQL中? 问题答案: 确保您的 脚本文件 (包含该行的文件) 编码为UTF-8。您应该在编辑器或IDE的“另存为”对话框中选择一种效果

  • 问题内容: 相关链接: PostgreSQL中的字符串文字和转义字符 这是我的错误: 这是我的查询: 如果我使用双引号,请删除单引号的反斜杠转义符,并在SELECT语句之前删除E 我得到这个: 而且由于查询被截断,我也收到错误消息。 我以前曾使用dblink进行过转义,因此是否需要服务器设置或需要配置的东西? 我知道如果我在sql服务器本身上运行查询,但该查询工作正常,但不能与dblink一起运行

  • 我需要帮助在postgresql insert中转义单引号。我正在使用ETL工具从源中提取数据并加载到postgresql数据库中。Select语句包含一些变量。 例如,我的选择查询是 变量的值为。这句话给了我一个错误 而不是被加载到postgres表中。谁能帮我分析单引号,我应该如何在变量中使用单引号?

  • 问题内容: 我想知道是否有一种方法可以在SQL Server2008中存储单引号。我正在构建多个报告,并且所有这些报告都完全相同,只是它们只是在我选择的代码上有所不同。例如,一个报告使用代码“ abc”,“def”,“ ghi”,另一报告使用代码“ jkl”,“ mno”,“ pqr”。我当时在考虑减少必须执行的存储过程的数量,我可以在报表上输入一个参数来选择要运行哪种类型的报表。基于此,我将使用

  • 问题内容: 我想像这样在Bash中显示一个字符串 当然可以这样 但是如何在字符串周围使用单引号的同时完成此操作? 问题答案: 不起作用。但是以下工作原理: 在bash的手册页中: 即使在单引号之前加反斜杠,也不能在单引号之间引起单引号。 .... $’string’* 形式的单词经过特殊处理。该单词扩展为字符串,并按ANSI C标准的规定替换反斜杠转义字符。 *