有没有办法在
fetchall()
中取1个值而不显示其他值?
import mysql.connector
import hashlib
#connect to database
cnx = mysql.connector.connect(
host = '127.0.0.1',
user = 'root',
password = 'Francislaon@1406',
database = 'useracc'
)
cr = cnx.cursor()
result = ('')
#verify connection
if cnx.is_connected():
print('\n /---------------------/')
print(' / /')
print(' / Connected /')
print(' /---------------------/')
else:
print('\n /---------------------/')
print(' / /')
print(' / FAILED /')
print(' /---------------------/')
#welcomes the user
def welcome():
print('\n\n /------------------------/')
print(' / /')
print(' / WELCOME /')
print(' /------------------------/')
print('\n /----------------/ /--------------/')
print(' / SIGN IN / / SIGN UP /')
print(' /----------------/ /--------------/')
print('\n /----------------------------/')
userin = input (' USER RESPONSE : ').upper()
print(' /----------------------------/')
if userin == 'SIGN IN':
return signin()
#login if the user have account
def signin():
global result
print('\n\n\n\n /------------------------/')
print(' / /')
print(' / LOGIN /')
print(' /------------------------/')
usernamein = input('\n\nUSERNAME : ')
passwordin = hashlib.sha256(input('PASSWORD : ').encode()).hexdigest()
print('\n /--------CHECKING--------/')
querydata = {
'username' : usernamein,
'password' : passwordin
}
cr.execute("SELECT * FROM userdata WHERE username = %(username)s AND password = %(password)s", querydata)
result = cr.fetchall()
if result:
print('\n/--------LOGIN SUCCESS--------/')
else:
print('\n/--------LOGIN FAILED--------/')
return welcome()
welcome()
print(result)
我只想在图像中看到的输出中取
dummy
值:
实际上我什么都没做,因为我不太了解python
你可以使用 -
result = cr.fetchall()
,然后得到第一行——
first_row = result[0]
(如果查询只返回单行)
你可以遍历
cr.fetchall()
-
for row in result :
# Based on the requirement you can get those values by accessing the index
print("col1: ", row[0]) # 1
print("col2: ", row[1]) # dummy
print("col3: ", row[2]) # 4e52d35fcd82227deb6442dc8a50b72cb15cd10e993886a93d9718bc1afbdgea
您可以在这里看到文档。