Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 16
  1. #1
    Аватар для (Wh)AnGeL
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.01.2014
    Сообщений
    26
    Репутация:
    0 ±

    Проблема с MySQL

    Добрый вечер.

    Случилась такая проблема: не полностью срабатывают запросы.

    Использую плагин версии r39-4

    Есть запрос вот такого типа:
    PHP код:
    new tquery[200];
    format(tquerysizeof(tquery), "SELECT * FROM `"TABLE_ACC"` WHERE `name` = '%s' AND `password` = '%s'"Player[playerid][pName], inputtext);
    mysql_tquery(1tquery"LoadAccount""is"playeridinputtext); 
    При его использовании я получаю вот такой вот результат:
    PHP код:
    [20:21:38] [DEBUGmysql_tquery connection1query"SELECT * FROM `users` WHERE `name` = 'Бухой_Ангелочек' AND `pass"callback"LoadAccount"format"is" 
    Соответственно можно подумать что не хватает ячеек для формата, но увы, я ставил и большие значения.

    Полный лог MySQL:
    PHP код:
     http://pastebin.com/1SiaZ2u8 
    p.s Интересный факт, на r31 запросы правильно проходят и логируются в логе полностью...

    Буду очень рад если кто-нибудь поможет с решением данной проблемы)
    skype-system.killer2

  2. #2
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Приветствую. Как понять не полностью? Как вы это поняли?
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  3. #3
    Аватар для (Wh)AnGeL
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.01.2014
    Сообщений
    26
    Репутация:
    0 ±
    Ну вы видите какой запрос приходит в бд? Я спрашивал у знакомых и у всех запрос приходит целый, а не обрезанный.
    Да и из-за этого случается проблема с регистрацией аккаунта
    skype-system.killer2

  4. #4
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Эмм, заметил только что. Попробуй так:
    PHP код:
    static query[] = "SELECT * FROM `"TABLE_ACC"` WHERE `name` = '%s' AND `password` = '%s'";
    new 
    str[sizeof(query) - 30 MAX_PLAYER_NAME 1];
    format(strsizeof(str), queryPlayer[playerid][pName],  inputtext);
    mysql_function_query(/* подкючение к бд */str"LoadAccount""is"playeridinputtext); 
    Последний раз редактировалось $continue$; 19.03.2016 в 19:30.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  5. #5
    Аватар для (Wh)AnGeL
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.01.2014
    Сообщений
    26
    Репутация:
    0 ±
    Интересный результат...

    PHP код:
    [20:55:00] [DEBUGmysql_tquery connection1query"SELECT * FROM `users` WHERE `name` = 'Бухой_Ангелочек' AN"callback"LoadAccount"format"is"
    [20:55:00] [DEBUGCMySQLQuery::Execute[LoadAccount] - starting query execution
    [20:55:00] [ERRORCMySQLQuery::Execute[LoadAccount] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AN' at line 1
    [20:55:00] [DEBUGCMySQLQuery::Execute[LoadAccount] - error will be triggered in OnQueryError 
    skype-system.killer2

  6. #6
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    $continue$ неверно рассчитал размер массива. Запрос верный, необходимо верно рассчитать количество ячеек.

  7. #7
    Аватар для (Wh)AnGeL
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.01.2014
    Сообщений
    26
    Репутация:
    0 ±
    Просчитав ячейки получилось нечто подобное:
    PHP код:
    static query[] = "SELECT * FROM `"TABLE_ACC"` WHERE `name` = '%s' AND `password` = '%s'";
    new 
    str[sizeof(query)+MAX_PLAYER_NAME+30];
    format(strsizeof(str), queryPlayer[playerid][pName],  inputtext);
    mysql_tquery(1str"LoadAccount""is"playeridinputtext); 
    Но увы, результат не увенчался успехом:
    PHP код:
    [21:05:25] [DEBUGCMySQLResult::~CMySQLResult() - deconstructor called
    [21:05:29] [DEBUGmysql_tquery connection1query"SELECT * FROM `users` WHERE `name` = 'Бухой_Ангелочек' AND `pass"callback"LoadAccount"format"is"
    [21:05:29] [DEBUGCMySQLQuery::Execute[LoadAccount] - starting query execution
    [21:05:29] [DEBUGCMySQLQuery::Execute[LoadAccount] - query was successfully executed within 72.449 milliseconds 
    skype-system.killer2

  8. #8
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    От балды размер массива не нужно выставлять.

  9. Пользователь сказал cпасибо:
    VVWVV (19.03.2016)
  10. #9
    Аватар для (Wh)AnGeL
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.01.2014
    Сообщений
    26
    Репутация:
    0 ±
    Ну почему же от балды то?

    new str[sizeof(query)+MAX_PLAYER_NAME+30];
    Кол-во символов в запросе + ник + 30 символов под пароль.
    skype-system.killer2

  11. #10
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Бывает. Сам уже заметил. Обновил пост.
    Цитата Сообщение от Londlem Посмотреть сообщение
    $continue$ неверно рассчитал размер массива. Запрос верный, необходимо верно рассчитать количество ячеек.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •