微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在'localhost:3306'上与MySQL服务器的连接丢失,系统错误:连接不可用

如何解决在'localhost:3306'上与MySQL服务器的连接丢失,系统错误:连接不可用

servlet2.py

import MysqL.connector
from MysqL.connector import Error
from MysqL.connector import errorcode

try:     
    connection = MysqL.connector.connect(host='localhost',database='*project',user='*****',password='*****',)
    print("Connection Established")
    
except MysqL.connector.Error as e:
    if e.errno == errorcode.ER_ACCESS_DENIED_ERROR:
        print('Somethign is wrong with username or password')
    elif e.errno == errorcode.ER_BAD_DB_ERROR:
        print('Database does not exist')
    else:
        print(e)
    
c = connection.cursor()

def insertsql(user):
    MysqL_insert_query = "INSERT INTO python_project.test (Name) VALUES (?)",(user)
    print("user:",user)
    c.execute(MysqL_insert_query)
    print(c.rowcount,"Record inserted successfully into test table")
   

def username():
    user = input("Please Enter Your Name: " )
    insertsql(user)

test_script.py

import servlet2
servlet2.username()

但是,一旦输入名称,我就可以建立与数据库的连接。它将无法连接并提示错误

OperationalError: Lost connection to MysqL server at 'localhost:3306',system error: Connection not available.

解决方法

import mysql.connector
from mysql.connector import Error
from mysql.connector import errorcode

try:     
    connection = mysql.connector.connect(host='127.0.0.1',database='python_project',user='root',password='catdog123',)
    print("Connection Established")
    #cursor = connection.cursor()
    #cursor.execute("""INSERT INTO test (Name) VALUES ('harry')""")
    #connection.commit()
    #cursor.close()
   
    
except mysql.connector.Error as e:
    if e.errno == errorcode.ER_ACCESS_DENIED_ERROR:
        print('Somethign is wrong with username or password')
    elif e.errno == errorcode.ER_BAD_DB_ERROR:
        print('Database does not exist')
    else:
        print(e)
    
c = connection.cursor()


def insertSQL(user):

    #mySql_insert_query = """INSERT INTO test (Name) VALUES (?)""",user
    print("user:",user)
    print(c.rowcount,"Record inserted successfully into test table")
    
    c.execute("""INSERT INTO test (Name) VALUES ('{}')""".format(user))
    connection.commit()
    
 
    

def username():
    user = input("Please Enter Your Name:" )
    insertSQL(user)
    

我设法通过将插入语句VALUES更改为('{}')。format(user)

来解决该问题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。