PyODBC:使用参数变量执行 Select 语句
在此场景中,您寻求基于基于存储在 data['DeviceName'] 中的特定设备名称。但是,您之前尝试使用参数变量执行 SELECT 语句并未成功。
解决方案是在 SQL 语句中使用参数化。通过使用“?”占位符并传递 DeviceName 作为参数,您可以保护您的系统免受 SQL 注入和其他安全漏洞的影响。
这是一种修改后的方法:
cursor.execute("SELECT * FROM Throughput WHERE DeviceName = ?", data['DeviceName'])
参数化有几个好处:
除了修改后的查询片段之外,这里还有一部分工作代码示例供您参考:
query = "SELECT * FROM Throughput WHERE DeviceName = '%s'" % data['DeviceName'] try: for row in cursor.execute(query): ...
无论使用参数化还是使用参数化,请记住验证用户输入动态 SQL 增强安全性。
以上是如何在 PyODBC SELECT 语句中安全地使用参数变量?的详细内容。更多信息请关注PHP中文网其他相关文章!