Форум Pawn.Wiki - Воплоти мечту в реальность!: Куча ошибок - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ MySQL ]
Куча ошибок

#1
Пользователь офлайн   Cetonix 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Боже уже 1 час не могу регу доделать, можете помочь пожалуйста, ненавижу этот mysql

mysql-log:

[19:05:29] [ERROR] cache_get_row_count: no active cache
[19:05:36] [ERROR] error #1064 while executing query "INSERT INTO `accounts` (`pName`, `pPassword`) VALUES ('', 'grgrre": You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''grgrre' at line 1
[19:21:25] [ERROR] cache_get_row_count: no active cache
[19:21:27] [ERROR] error #1064 while executing query "ИSERT INTO `accounts` (`pName`, `pPassword`) VALUES ('', '')": You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'И\0001SERT INTO `accounts` (`pName`, `pPassword`) VALUES ('', '')' at line 1
[19:26:24] [ERROR] cache_get_row_count: no active cache
[19:26:30] [ERROR] error #1064 while executing query "xSERT INTO `accounts` (`pName`, `pPassword`) VALUES ('', '')": You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'x\0001SERT INTO `accounts` (`pName`, `pPassword`) VALUES ('', '')' at line 1



pawn:

(mysql у меня подключена, к хостингу)
Прикрепленные файлы [Показать]

0

#2
Пользователь офлайн   M I S T E V 

  • Вставить ник
  • Раскрыть информацию
1. Тебе не нужен массив для хранения пароля. Всегда используй inputtext.
2. Ты задаёшь проверку на 32 символа для пароля, а ниже на 64. Для этого и используются константы, чтобы такого не было.
3. Ты используешь mysql_query, а тебе нужно mysql_tquery (если версия MySQL R41-4).
1

#3
Пользователь офлайн   Cetonix 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияM I S T E V (01 октября 2024 - 20:08) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


А что может значить [20:16:45] [ERROR] cache_get_row_count: no active cache ?
Я поменял mysql_query на mysql_tquery и 64 на 32 но все тоже самое, версия R41-4

Просмотр сообщенияM I S T E V (01 октября 2024 - 20:08) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]



strmid(PlayerInfo[playerid][pPassword], inputtext, 0, strlen(inputtext), 32);
					static const fmt_query[] = "INSERT INTO `accounts` (`pName`, `pPassword`) VALUES ('%s', '%s')";
					new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)+(-2+32)];
					format(query, sizeof query, fmt_query, GetPlayerName(playerid), inputtext);
					mysql_tquery(dbHandle, query);
                    return 1;

0

#4
Пользователь офлайн   M I S T E V 

  • Вставить ник
  • Раскрыть информацию
cache_ - это в принципе если ты хочешь использовать MySQL в одном потоке с сервером, чтобы отправить запрос, в этой же части кода получить результат. Тебе это не нужно, поэтому нужно использовать mysql_tquery, чтобы отправить запрос в базу данных без ожидания ответного результата в той же части кода.

Проблема вероятнее всего в самой базе данных. Советую зайти в урок (ссылка) Deimo'S, где он подробно описывает, как сделать регистрацию и в принципе работать с MySQL

Насчёт PlayerInfo[playerid][pPassword] - я в имею ввиду, что этот массив в моде не нужен. Тебе не нужно хранить 32 символа для каждого игрока, которые они используют только 1 раз в игре (при входе). Ты уже передаёшь inputtext в запрос, поэтому данный массив для пароля можешь удалить. Ещё один вариант использования - это смена пароля, когда может понадобиться подтвердить старый - тогда просто загружаешь его из базы данных и сверяешь с тем, что вводит игрок (то есть снова ты работаешь с inputtext и запросом из базы данных)

Сообщение отредактировал M I S T E V: 01 октября 2024 - 20:39

1

#5
Пользователь офлайн   Cetonix 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияM I S T E V (01 октября 2024 - 20:29) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


А у меня по версии не подойдет, там r39-40
0

#6
Пользователь офлайн   M I S T E V 

  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияCetonix (01 октября 2024 - 20:31) писал:

А у меня по версии не подойдет, там r39-40

Подойдёт, R39 и R40 - отличаются, а всё что после дефиса - мелкие фиксы/дополнения
1

#7
Пользователь офлайн   Cetonix 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияM I S T E V (01 октября 2024 - 20:38) писал:

Подойдёт, R39 и R40 - отличаются, а всё что после дефиса - мелкие фиксы/дополнения


Хорошо, спасибо
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика