当前位置: 首页 > 面试题库 >

使用psycopg2 / Python DB-API和PostgreSQL进行参数化查询

巫马昆琦
2023-03-14
问题内容

使psycopg2将参数化查询传递到PostgreSQL的最佳方法是什么?我不想编写自己的维护机制或适配器,而psycopg2源代码和示例很难在Web浏览器中阅读。

如果我需要切换到PyGreSQL或其他python pg适配器之类的东西,对我来说很好。我只想要简单的参数化。


问题答案:

psycopg2遵循DB-API
2.0的规则(在PEP-249中设置)。这意味着您可以executecursor对象中调用方法并使用pyformat绑定样式,它将为您进行转义。例如,以下
应该 是安全的(并且可以正常工作):

cursor.execute("SELECT * FROM student WHERE last_name = %(lname)s", 
               {"lname": "Robert'); DROP TABLE students;--"})


 类似资料:
  • 问题内容: 我有下面的代码(我包括了我认为所有相关的部分): 运行此命令时,在添加第一个参数时会收到IndexOutOfBoundsException。我做错了什么? 问题答案: 尝试以下方法:

  • 我是新来的Node.js,并试图检查如果电子邮件已经通过发送电子邮件作为一个url参数从iOS应用程序。它不起作用,不确定我做错了什么。 我无法console.log前端发送的VSCode中的电子邮件参数,它在XCODE(http://localhost:3000/api/user/email/test@gmail.com)中打印,我知道后端正在获取GET请求。 我的路由器代码是: 非常感谢。

  • 问题内容: 我已经尝试按照PHP.net说明进行查询,但是我不确定执行此操作的最佳方法。 如果可能,我想使用参数化查询来返回表中字段与参数匹配的表。这将返回一个,因为它将是唯一的。 然后,我想将其用于另一个表中,因此我将需要确定它是否成功。 我还读到您可以准备查询以供重用,但是我不确定这有什么帮助。 问题答案: 您选择像这样的数据: 您以相同的方式插入: 我建议您将PDO配置为在出错时引发异常。如

  • 我正在努力理解的行为。我想用它来编码查询参数中的URL,但它似乎只转义字符,而不转义其他必要的字符,如。 查询参数中根本没有编码的URL示例: 输出: 这是不正确的,因为未编码的会导致被解释为而不是的查询参数。 但是,如果使用包含字符的输入:: 输出: 字符被转义。 自动转义字符,但不转义其他保留字符,这似乎不一致。 使用将URL编码为查询参数的正确过程是什么?

  • 问题内容: 这是从这个问题开始的:要求我在哪里开始一个新的问题。 问题是我只是对JUnit 或有关的东西之类的东西还不够了解,无法用Jeff Bowman提到的方式解决问题。 问题答案: 在您以后的评论中,我指出了差距:您需要使用Mockito作为规则,而将参数化为Runner,而不是相反。 原因是Runner负责报告测试数量,而Parameterized则根据测试方法的数量和参数化输入的数量来操

  • 问题内容: 当我尝试向服务器上的API发送POST请求时遇到问题,我遵循了许多不同的教程,但仍然无法正常工作。我知道我的问题出在POST请求上,但我解决不了!所以这是我在Swift中的代码以及我在php中的API :(是的,我已经用代码中的真实ID替换了xxxx) 总结一下,服务器接收到请求,例如,如果我手动输入一个伪指令,它就可以工作,实际上是POST方法不起作用。。服务器未接收到POST参数

  • 我不明白如何用spock为void方法设置参数化测试。这是我对链表的简单测试用例: 方法是一个void方法,但是如果我没有显式地获得返回值,那么测试就失败了。 这实际上是有效的: 但这不是: 测试报告抱怨为空 我该如何处理这种情况?我想测试删除的结果,检查删除方法被调用后的列表状态。 谢谢,卡洛