Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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中比较输入值和mysql数据库值_Python_Python 3.x_Mysql Python - Fatal编程技术网

如何在python中比较输入值和mysql数据库值

如何在python中比较输入值和mysql数据库值,python,python-3.x,mysql-python,Python,Python 3.x,Mysql Python,因此,我想将输入值与数据库值进行比较。如果输入值与数据库值相同,我想打印(inputvalue)。但是如果不一样,我想打印(“数据不存在”) 所以我尝试了以下代码: cur = connection.cursor() query = """ SELECT * FROM `foo` """ cur.execute(query) result = cur.fetchall() inputvalue = input("Input= ") for x in result: if inputv

因此,我想将输入值与数据库值进行比较。如果输入值与数据库值相同,我想打印(inputvalue)。但是如果不一样,我想打印(“数据不存在”)

所以我尝试了以下代码:

cur = connection.cursor()
query = """ SELECT * FROM `foo` """

cur.execute(query)
result = cur.fetchall()
inputvalue = input("Input= ")

for x in result:
    if inputvalue not in x:
        print("Data Does Not Exist")
    else:
        print(inputvalue)
这是输出:

inputvalue= 1728192
Data Does Not Exist
Data Does Not Exist
Data Does Not Exist
Data Does Not Exist
1728192
Data Does Not Exist
Data Does Not Exist
Data Does Not Exist
我希望输出是正确的

Inputvalue= 1728192
Data Does Not Exist
如果数据不存在, 这个输出:

Inputvalue= 1728192
1728192
如果数据存在

任何答复都将不胜感激

我不建议将foo中的所有行都加载到python中,而是建议查询数据库中是否存在该特定值。数据库针对这种请求进行了优化。如果数据库中有大量数据,那么您的方法将需要大量时间将所有内容加载到内存中(这很容易导致内存错误)

所以我猜你把你的值存储在一个叫做“bar”的列中:

inputvalue = input("Input= ")
cur = connection.cursor()
query = """ SELECT * FROM `foo` WHERE bar = inputvalue """

cur.execute(query)
row_count = cur.rowcount
if row_count > 0:
    print(inputvalue)
else:
    print("Data Does Not Exist")

为了让您理解为什么您的方法没有按预期工作:在结果中为x使用
循环遍历表中的每一行,并检查每一行中是否有inputvalue

您可以创建布尔对象,并在执行后比较您的答案:

cur = connection.cursor()
query = """ SELECT * FROM `foo` """

cur.execute(query)
result = cur.fetchall()
inputvalue = input("Input= ")

temp = False
for x in result:
    if inputvalue in x:
        temp = True
if temp:
    print(inputvalue)
else:
    print("Data Does Not Exist")

嘿,谢谢你的回答,你的代码正在工作!。谢谢你指出我的错误