当数据库中未找到任何内容时,我试图返回“未找到搜索”,但该程序只是跳出循环
我尝试检查0
或''
,但是意识到数据库返回了NoneType
。我现在正在检查None
,但是代码仍然无法执行。
def search():
def searchmenu():
print('')
ans=str(input('Make another [s]earch or return to the [m]ain menu: '))
ans=ans.lower()
if ans=='s':
Inventory.search()
elif ans=='m':
menu=MainMenu()
menu.menuops()
else:
print('invalid menu option')
searchmenu()
mydb = mysql.connector.connect(host="localhost", user="root", password="", database="pharmd")
cursor = mydb.cursor()
query=str(input("Search: "))
if query != "":
cursor.execute('SELECT * FROM drugs WHERE name LIKE "%'+query+'%"')
results=cursor.fetchall()
if results != None:
for data in results:
print('found!')
print(data)
searchmenu()
else:
print('No results found')
else:
print('Please enter a valid search!')
print('')
Inventory.search()
答案 0 :(得分:1)
问题在于cursor.fetchall()
不会返回None,而是返回一个空的元组()
。
您可以根据the answer中的this question检查cursor.rowcount
中是否有空结果。