我在Python中遇到了问题。系统在函数cnx = mysql.connector.connect(host=self.host, database=self.database , user= self.username , password=self.password )
上面显示("'tuple' object has no attribute 'strip'",)
,就好像它把逗号识别为一个连接。我花了几个小时也解不出来。
class Database:
def __init__(
self,
host="localhost",
database="bayer",
username="root",
password="root",
port="3306",
) -> None:
self.host = str(host)
self.database = str(database)
self.username = str(username)
self.password = str(password)
self.port =str(port)
self.connection = None
def connectDatabase(self):
try:
logging.basicConfig(level=logging.INFO)
if self.connection is not None:
logging.info("return active connection for you")
return self.connection
self.connection = mysql.connector.connect(host=self.host, database=self.database , user=self.username , password=self.password )
logging.info("CON02")
if self.connection.is_connected():
logging.info("You're connected to database: " + self.database)
return self.connection
else:
logging.error(
"Error in connected to database: " +
self.database)
logging.info("CON03")
except Error as e:
logging.info("Database Error: " + e.args)
#raise (e)
def query(self, connection, sql, *args):
cursor = connection.cursor()
try:
cursor.execute(sql, args)
return cursor
except Error as e:
logging.error("Database Error: " + e.args)
raise (e)
我只需要通过这条连线。
1条答案
按热度按时间mfuanj7w1#
e.args
是一个元组,即因此,当尝试将字符串与元组连接时,即
logging.info("Database Error: " + e.args)
,它会崩溃:你可以在
e.args
上连接它们,而不会引发错误:或者,最好使用f字符串