2017-10-13 171 views
0

我是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中的值與用戶輸入進行比較。 –

回答

0

基於您的評論:

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

它比較用戶輸入只與第一行不與其他人。 有沒有其他更好的方法來做到這一點,如將單列中的所有值存儲爲單個行中的多個值,並將其作爲字符串列表進一步處理? –

+0

'fruit for fruit:'循環遍歷fruit列中的所有行,假設'fetchall()'將所有值作爲列表返回。 – Eqomatic