在Python中比较用户输入和mysql db值

在Python中比较用户输入和mysql db值

问题描述:

我是Python和MySQL的新手。我在本地主机上创建了一个MySQL数据库'食物'。 我想编写一个python代码来接受用户输入,并将其与我的数据库文件中的水果 列进行比较。如果输入字符串与数据库 中的任何值匹配,则必须打印“Item Exists”,否则将字符串添加到数据库。在Python中比较用户输入和mysql db值

mysql> select * from example; +----+--------+ | id | fruits | +----+--------+ | 1 | Apple | | 2 | Orange | | 3 | Grape | +----+--------+ 3 rows in set (0.00 sec)

我知道如何访问数据库,并插入值到它,但不知道如何将它与用户输入进行比较。请帮忙。谢谢。

+0

你说你可以访问数据库,你在做什么,试图从中检索值? – Eqomatic

+0

@Eqomatic我使用'fetchall()'。这里: - cursor.execute(“SELECT fruits FROM example”)x = cursor.fetchall()'。我不知道如何使用x中的值与用户输入进行比较。 –

基于您的评论:

fruits = cursor.fetchall() 
for fruit in fruits: 
    if input == fruit: 
     print("Item exists") 
+0

它比较用户输入只与第一行不与其他人。 有没有其他更好的方法来做到这一点,如将单列中的所有值存储为单个行中的多个值,并将其作为字符串列表进一步处理? –

+0

'fruit for fruit:'循环遍历fruit列中的所有行,假设'fetchall()'将所有值作为列表返回。 – Eqomatic