MySQL барахлит..

Статус
В этой теме нельзя размещать новые ответы.

KRATEIN

Новичок
Автор темы
17
0
Ребят, вставлял в public OnGameModeInit() это:
C++:
switch(mysql_errno())
    {
        case 0: print("Подключение к базе данных удалось");
        case 1044: print("Подключение к базе данных не удалось [Указано неизвестное имя пользователя]");
        case 1045: print("Подключение к базе данных не удалось [Указан неизвестный пароль]");
        case 1049: print("Подключение к базе данных не удалось [Указана неизвестная база данных]");
        case 2003: print("Подключение к базе данных не удалось [Хостинг с базой данных недоступен]");
        case 2005: print("Подключение к базе данных не удалось [Указан неизвестный адрес хостинга]");
        default: printf("Подключение к базе данных не удалось [Неизвестная ошибка. Код ошибки: %d]", mysql_errno());
    }
В итоге выводит ошибку: Подключение к базе данных не удалось [Неизвестная ошибка. Код ошибки: -1]

Денвер переустанавливал все делал что мог, в чем проблема?
В errors.log ничего нет
 

ImPasha

Software Developer & System Administrator
Друг
1,788
2,141
Ребят, вставлял в public OnGameModeInit() это:
C++:
switch(mysql_errno())
    {
        case 0: print("Подключение к базе данных удалось");
        case 1044: print("Подключение к базе данных не удалось [Указано неизвестное имя пользователя]");
        case 1045: print("Подключение к базе данных не удалось [Указан неизвестный пароль]");
        case 1049: print("Подключение к базе данных не удалось [Указана неизвестная база данных]");
        case 2003: print("Подключение к базе данных не удалось [Хостинг с базой данных недоступен]");
        case 2005: print("Подключение к базе данных не удалось [Указан неизвестный адрес хостинга]");
        default: printf("Подключение к базе данных не удалось [Неизвестная ошибка. Код ошибки: %d]", mysql_errno());
    }
В итоге выводит ошибку: Подключение к базе данных не удалось [Неизвестная ошибка. Код ошибки: -1]

Денвер переустанавливал все делал что мог, в чем проблема?
В errors.log ничего нет
Для того, чтобы вывести ошибку, нужно использовать mysql_error, а не mysql_errno. Кейсы вообще не нужны.
Pawn:
new MySQL: handle, errno;

handle = mysql_connect("127.0.0.1", "root", "mypass", "mydatabase");
errno = mysql_errno(handle);

if (errno != 0) {
    new error[100];
    mysql_error(error, sizeof (error), handle);
    printf("[MYSQL ERROR] #%d '%s'", errno, error);
} else print("MySQL Successfully Loaded!");
Либо установи CrashDetect и посмотри по логам в чём проблема.
Ещё можешь проверить версию своего MySQL плагина.
break; забыл во всех кейсах
В Pawn не используется break в кейсах.
 

KRATEIN

Новичок
Автор темы
17
0
Для того, чтобы вывести ошибку, нужно использовать mysql_error, а не mysql_errno. Кейсы вообще не нужны.
Pawn:
new MySQL: handle, errno;

handle = mysql_connect("127.0.0.1", "root", "mypass", "mydatabase");
errno = mysql_errno(handle);

if (errno != 0) {
    new error[100];
    mysql_error(error, sizeof (error), handle);
    printf("[MYSQL ERROR] #%d '%s'", errno, error);
} else print("MySQL Successfully Loaded!");
Либо установи CrashDetect и посмотри по логам в чём проблема.
Ещё можешь проверить версию своего MySQL плагина.

В Pawn не используется break в кейсах.
Спасибо, просто всю голову сломал. Думал что это с денвером проблемы.
Можете закрывать тему.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.