|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
# 查询语句
try:
cursor = db.cursor()
sql = "select * from characters"
cursor.execute(sql)
result = cursor.fetchall()
for data in result:
print(data)
except Exception:
print("查询失败")
#插入语句
try:
sql = "insert into characters(name,gender,family,heraldry,father) values ('asd','男','jhf','sdf','vif')"
# 运行sql语句
cursor.execute(sql)
# 修改
db.commit()
# 关闭游标
cursor.close()
# 关闭连接
db.close()
print("victory!")
except:
print("false")
用pycharm和数据库已经连接上了,但是后面的增删改查语句都报错,不知道是代码问题还是什么。求大佬指点
你的错误信息中表示“丢失了与MySQL服务器在'localhost:3306'的连接,系统错误: 1 [SSL: NO_CIPHERS_AVAILABLE]没有可用的密码(_ssl.c:1002)”。这个错误表明你在尝试与MySQL服务器进行SSL连接,但可能由于某种原因(可能是缺少必要的SSL密码套件)无法建立连接。
解决这个问题的一种方法是在你的MySQL连接代码中显式地禁用SSL。你可以通过向 mysql.connector.connect 函数添加一个 ssl_disabled 参数来实现这一点。
这是修改后的代码:import mysql.connector
try:
# 创建连接
db = mysql.connector.connect(
host="localhost", # 数据库主机地址
user="yourusername", # 数据库用户名
passwd="yourpassword", # 数据库密码
database="mydatabase", # 数据库名称
ssl_disabled="True" # 禁用SSL连接
)
cursor = db.cursor()
# 查询语句
sql = "select * from characters"
cursor.execute(sql)
result = cursor.fetchall()
for data in result:
print(data)
# 插入语句
sql = "insert into characters(name,gender,family,heraldry,father) values ('asd','男','jhf','sdf','vif')"
cursor.execute(sql)
db.commit()
print("插入成功!")
except mysql.connector.Error as error:
print("操作失败,错误信息:{}".format(error))
finally:
if 'db' in locals() or 'db' in globals():
if db.is_connected():
cursor.close()
db.close()
print("数据库连接已关闭。")
这段代码添加了一个 ssl_disabled="True" 参数来显式地禁用SSL连接。同时,也增加了一个检查 db 是否定义的判断,防止在 db 未定义的情况下执行 db.is_connected() 引起 NameError 。
希望这可以帮助你解决问题。
|
|