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

如何使用python db-api安全地生成SQL LIKE语句

鲁向明
2023-03-14
问题内容

我正在尝试使用python的db-api汇编以下SQL语句:

SELECT x FROM myTable WHERE x LIKE 'BEGINNING_OF_STRING%';

其中BEGINNING_OF_STRING应该是一个python var,可以通过DB-API安全地填写。我试过了

beginningOfString = 'abc'

cursor.execute('SELECT x FROM myTable WHERE x LIKE '%s%', beginningOfString) 
cursor.execute('SELECT x FROM myTable WHERE x LIKE '%s%%', beginningOfString)

我没有主意;正确的方法是什么?


问题答案:

如果可以的话,最好将参数与sql分开。然后,您可以让db模块处理参数的正确引用。

sql='SELECT x FROM myTable WHERE x LIKE %s'
args=[beginningOfString+'%']
cursor.execute(sql,args)


 类似资料:
  • 问题内容: 用例:“我忘记了密码”按钮。我们找不到用户的原始密码,因为它以散列形式存储,因此唯一要做的就是生成一个新的随机密码,然后通过电子邮件发送给他。这就要求使用密码无法预测的随机数,而mt_rand不够好,因此通常我们不能假定托管服务将提供对操作系统的访问权以安装密码随机数模块等。因此,我在寻找一种方法在PHP本身中生成安全的随机数。 到目前为止,我提出的解决方案包括存储初始种子,然后针对每

  • 我正在尝试使用swagger codegen maven插件(版本3.0.0)生成的ApiClient,从我的Spring Boot应用程序中使用OAuth2安全的REST API。身份验证服务器(keycoat)提供了一个JWT和刷新令牌,但我不知道如何最好地处理bean中的令牌。现在我的豆子看起来像这样: 问题是:获取令牌和处理刷新令牌的最佳方法是什么? 编辑:为了获得令牌,我想使用客户端ID

  • 问题内容: 因此,我正在执行的第一个项目中使用Google Maps API。是的,我是新手,如果这是基础知识或显而易见的事情,我感到抱歉,但是我找不到明确的答案或方向。以下是我从Google找到的有关安全使用API​​密钥的文档。 安全使用API​​密钥的最佳做法 在应用程序中使用API​​密钥时,请注意确保其安全。公开暴露您的凭据可能会导致您的帐户遭到盗用,这可能会导致您的帐户发生意外费用。为

  • 所以我在我做的第一个项目上使用谷歌地图应用编程接口...所以是的,我是新来的,如果这是基本的或显而易见的,我很抱歉,但是我还没有找到一个明确的答案或方向。下面是我从谷歌找到的关于安全使用API密钥的留档。 安全使用API密钥的最佳实践 在应用程序中使用API密钥时,请注意确保它们的安全。公开披露您的凭据可能会导致您的帐户被泄露,这可能会导致您的帐户发生意外费用。要确保API密钥的安全,请遵循以下最

  • 上周在一条流中出现了非常奇怪的NPE,这给我带来了很多麻烦,所以现在我觉得在使用流时使用NPE太安全了。 下面是我现在的方法: 我的问题是,我在这里处理的是外部POJO,所以我无法更改它并使其为空安全,所以我必须调整我的代码。 这里有一些限制:1)errorList-此处不能为null,因此调用是安全的-当它为空时,它只会返回false 2)和都可以为null,这就是为什么我使用这样的过滤器来确保

  • 请注意,如果尝试直接将作为的参数,将出现错误。但是,上面的方法不会产生错误。 当我在会话中运行它以检查数据集的输出时,我会得到以下错误。 发现1000个图像,属于2个类。-------------------------------------------------------------------------------------------------------------------