与 Python 的 MySQL 连接不起作用

我想通过Python连接MySQL,虽然我直接写用户名、密码等凭据连接成功,但我想让它有点动态。所以我尝试了:

import mysql.connector
import pandas as pd

def connection():
  host=input('Enter host')
  user=input('Enter User Name')
  passwd=int(input('passwd'))
  database=input('database')
  mydb= mysql.connector.connect(host="host",user="user",passwd="passwd",database="database")
return mydb
  connection()   

然而,它最终给出了错误:

InterfaceError: 2003: Can't connect to MySQL server on 'host:3306' (11001 getaddrinfo failed)

请帮帮我。如果您在带来一些动态用户输入凭据的同时有更好的解决方案,我将不胜感激。谢谢。

iCMS 回答:与 Python 的 MySQL 连接不起作用

您将像“主机”一样的搅拌传递给数据库而不是变量

所以去掉双引号

import mysql.connector
import pandas as pd

def connection():
  host=input('Enter host')
  user=input('Enter User Name')
  passwd=int(input('passwd'))
  database=input('database')
  mydb= mysql.connector.connect(host=host,user=user,passwd=passwd,database=database)
return mydb
  connection()   
,

在 mysql.connector 的 connect 方法中,当您将它们作为字符串传递时,您对这些值进行了硬编码。

改用 mysql.connector.connect(host=host,database=database)

你还把密码解析成一个int,我不认为mysql会喜欢那样,把它当作一个字符串使用。

本文链接:https://www.f2er.com/133657.html

大家都在问