1
我传递变量像蟒蛇SQL变量WHERE
query7 = QSqlQuery ("SELECT Exemplo FROM TabelaSubst WHERE Palavra="+text+" ORDER BY Exemple ASC;")
即时得到任何东西通过我的可变文本这样的问题。 ,如果我做印刷query7.next()即时得到假..
我的程序与PyQt的,我有一个组合框,当我选择它的一些文字,我通过这段文字我的变量“文本”,我想用它在我的凡Palavra =文字,但我不知道该怎么做。林这样做,因为它我会得到这些文本和即时把它在一个QTableWidget的例子..
当我做一个词的搜索,像
query7 = QSqlQuery ("SELECT Exemplo FROM TabelaSubst WHERE Palavra='ronaldo' ORDER BY Exemple ASC;")
..其确定..我让我举例... 但是,如果我改变“罗纳尔多”我的可变文本,我得到什么表..
的方式即时创建表把的例子是:
index1 = 0
while (query7.next()):
self.tableWidget.setItem(index1,0,QTableWidgetItem(query7.value(0).toString()))
index1 = index1+1
这些方法都让您的应用程序打开SQL注入。 – Blender
的确如此,我只注意到'text'来自组合框。在传递给查询之前应该清理它。 –
我仍然得到错误,当我做印刷query7.next() 与 query7 = QSqlQuery( “SELECT Exemplo FROM TabelaSubst WHERE Palavra = ' ”+文字+“' ORDER BY为例ASC;”) 但是,如果我改变“ +文本+“为罗纳尔多和打印query7.next()它返回true – Marco