Найден непрочитанный результат Python Msql

Я получил эту ошибку при попытке получить переменную из базы данных в MySql

0x000002A MySQL Connection Error!

Ошибка MySql предоставляется, когда версия/значение, которое мы пытаемся получить из базы данных, не является числом

вывод при попытке напечатать значение, которое программа пытается получить из базы данных: None

Я попытался получить переменную с именем: «gameVersion» из базы данных с именем: «gameversions», используя имя игры, но вместо получения переменной, которая имеет: «бета», я получил ошибку соединителя mysql.

файл и код, вызвавший эту ошибку: functions.py:

import mysql.connector

database = mysql.connector.connect(
    host = "localhost",
    user = "root",
    passwd = "s+W2DrcPQK5dada2^!dV!RUSZ@2$PbEX*3eacT",
    database = "PythonDB",
)

my_cursor = database.cursor(buffered=True)

user = ""
game = ""
db_version = my_cursor.execute(f"SELECT gameVersion FROM gameversions WHERE gameName = 'Grand Thiefs'")

sqlStuff = "INSERT INTO users (usersUid, usersEmail, usersPwd, UsersPerms, usersMoney, gameVersion) VALUES (%s, %s, %s, %s, %s, %s)"
sqlStuffv = "INSERT INTO gameversions (gameVersion, gameName) VALUES (%s, %s)"

def CreateDataBase(name):
    my_cursor.execute(f"CREATE DATABASE {name}")

#my_cursor.execute("CREATE TABLE gameVersions (gameVersion varchar(255) NOT NULL, gameName varchar(255) NOT NULL);")
def ShowTables():
    my_cursor.execute("SHOW TABLES")

def ShowDataBases():
    my_cursor.execute("SHOW DATABASES")

def CreateUser(Name, Password, Email, Version):
    global user
    user = [{Name}, {Email}, {Password}, "User", "0", {Version}]
    my_cursor.execute(sqlStuff, user)
    database.commit()

def checkversion(version, name):
    if version != db_version:
        if type(db_version) == float:
            return "Failure"
        else:
            return "MySQL Connection Error"
    else:
        return "Correct"

Можете ли вы добавить свой код, чтобы найти ответ?

Soralienne 29.10.2022 18:49

Добавил мой код @Soralienne

czlowieczyna-czan 29.10.2022 18:52

Я решил свою проблему с ошибкой, но получил ошибку, и код дважды возвращает «none»

czlowieczyna-czan 29.10.2022 18:55
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
4
58
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Мой код для подключения к MySQL:

connection = mysql.connector.connect(
    host = "localhost",
    user = "root",
    password = "root",
    port = "8889",
    database = "registration",
    auth_plugin = "mysql_native_password"
)

c = connection.cursor()

Убедитесь, что вы подключены к Mamp, Xampp, Wamp и другим, но попробуйте это для подключения

Я смотрел этот урок: youtube.com/watch?v=yOmxJbZjTnU Поэтому я не использую Xampp, Mamp или wamp: I

czlowieczyna-czan 30.10.2022 10:22

Вы используете Easy-Php? Вы использовали правильный путь к файлу в своей «php launcher»?

Soralienne 30.10.2022 10:40

Дай раздор, потому что я тупой

czlowieczyna-czan 30.10.2022 11:38

Хорошо : Адская игра # 1922

Soralienne 30.10.2022 12:08

Вам отправлено приглашение

czlowieczyna-czan 30.10.2022 12:26
Ответ принят как подходящий

Я исправил свою проблему, изменив код:

def checkversion(version):
    #! Code Does Not Work Due To db_version error returning "None"!
    my_cursor.execute("SELECT gameVersion FROM gameversions WHERE gameName='Grand Thiefs' limit 1;")
    if version != db_version:
        if type(db_version) != str or float:
            #print(db_version)
            return "Failure"
        else:
            #print(db_version)
            return "MySQL Connection Error"
    else:
        return "Correct"

К:

def checkversion(version):
    my_cursor.execute("SELECT gameVersion FROM gameversions")
    db_version = my_cursor.fetchone()
    if version != db_version[0]:
        if not type(db_version) in [str, float]:
            print(db_version)
            return "Failure"
        else:
            #print(db_version)
            return "MySQL Connection Error"
    else:
        return "Correct"

Благодаря учебнику YouTube помощь больше не нужна

Другие вопросы по теме