Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用SQL数据库中的字符串变量在Flask中执行If语句_Python_Mysql - Fatal编程技术网

Python 使用SQL数据库中的字符串变量在Flask中执行If语句

Python 使用SQL数据库中的字符串变量在Flask中执行If语句,python,mysql,Python,Mysql,我正在创建一个程序,在这个程序中,我需要检查表中的某个单元格是否等于字符串值,如果不等于字符串值,则更改该值。下面是一些代码片段以供澄清: if (db.execute("SELECT :rowchosen FROM userboard WHERE column=:columnchosen", rowchosen = rowchosen, columnchosen = columnchosen)) == '-'): #change value of cell else: #go

我正在创建一个程序,在这个程序中,我需要检查表中的某个单元格是否等于字符串值,如果不等于字符串值,则更改该值。下面是一些代码片段以供澄清:

if (db.execute("SELECT :rowchosen FROM userboard WHERE column=:columnchosen", rowchosen = rowchosen, columnchosen = columnchosen)) == '-'):
    #change value of cell
else:
    #go to a new page that displays an error

然而,每当我运行这段代码时,我总是会得到一个错误,因为这个值(我相信)打印为字典值,类似于{“row”='row'}之类的值。关于为什么会发生这种情况,有什么帮助/建议吗?

您确定
userboard
是数据库而不是表吗

我想,这就是你想要做的

conn = sqlite3.connect(db_file)
cur = conn.cursor()
cur.execute("SELECT * FROM userboard WHERE one=?", (columnchosen,))

rows = cur.fetchall()

for row in rows:
    print(row)
现在,在“行中的行”的循环中:您需要执行检查。对于返回的所有行,您需要在相应的列中检查每一行的
-


同时检查一下您使用的是哪种数据库?你能告诉我db.execute方法在做什么吗?您正在查询sqllite吗?数据库名称是“userboard”。execute方法从SQL数据库获取命令,是的,我正在查询SQLlite。谢谢!我用类似的方法编写了这段代码,取而代之的是在一个特定的行中得到一个值数组。。。对不起,弄糊涂了,不用担心。您可以发布行的外观以及
-
值应该位于哪个列吗?当然可以。一行是这样的:('B'、'-'、'-'、'-'、'-'、'-'、'-'、'-'、'-'、'-'、'-'),“字母”值应该是B,“数字”值应该是“一”。因此,datatbale是一系列列,第一列名为'Letters',第二列名为'one',第三列名为'two'等等,那么从这一行开始,您希望更改哪个值?换句话说,要检查
-
valueColumn name的列号是“一”。