有问题的代码片段:
str='Facebook Inc'
cursor.execute("select * from stocks where name=?",(item))
只有一个参数用SQL注入方式来查询,查询失败,百思不得其解。
最终才知道问题出在这里,改正代码如下:
str='Facebook Inc'
cursor.execute("select * from stocks where name=?",(item,))
没错,就是一个逗号的问题,一个逗号让我一脸懵也不知道怎么回事,因为才初学python所以好多问题都了解的不是那么全面,当SQL注入的参数只有一个时,注入的元组必须包含一个逗号,如下形式查询一样不可以省略元组里的逗号:
str=('Facebook Inc',)
cursor.execute("select * from stocks where name=?",str)
本文揭示了一个关于SQL查询中参数传递的常见错误:在使用Python执行SQL语句时,若参数为单元素元组,需正确使用逗号。作者通过实际案例,详细解析了这一细节的重要性,避免因忽略逗号而导致的查询失败。
1096

被折叠的 条评论
为什么被折叠?



