Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11
  1. #1
    Аватар для Trane911
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.10.2013
    Сообщений
    66
    Репутация:
    1 ±

    Разбираюсь с MySQL r7.

    Всем привет. Помогите освоиться с MySQL. Пытаюсь сделать сохранение аккаунта, но что-то не получается. Что не так? Желательно, расскажите подробно. С меня спасибо! :smile3:

    Вот сам код:

    Код:
    stock SaveAccount ( playerid )
    {
        new query [ 144 ] ;
        format ( query, sizeof query, "UPDATE `users` SET \
        `pAdmin` = '%d' \
        WHERE `pAdmin` = '%d' LIMIT 1",
    	PlayerInfo [ playerid ] [ pAdmin ],
        PlayerInfo [ playerid ] [ ID ] ) ;
        mysql_function_query ( dbHandle, query, false, "", "" ) ;
        return 1;
    }

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Подключение к БД то имеется? Так же хотелось бы увидеть структуру БД и услышать о том, где, как и зачем запускаешь MySQL. Ну и логи можно

  3. #3
    Аватар для Trane911
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.10.2013
    Сообщений
    66
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Подключение к БД то имеется? Так же хотелось бы увидеть структуру БД и услышать о том, где, как и зачем запускаешь MySQL. Ну и логи можно
    Подключение имеется, аккаунты создаются. Пароль сохраняется и при авторизации на сервере пароль запрашивается из аккаунта.
    Немного не понял вопросов: "Где, как и зачем запускаешь MySQL?" На хостинге, как - не знаю как ответить на такой вопрос
    Зачем? Регистрация нужна же.
    Я думаю, что тут ошибка в коде, т.к. я там немного поковырялся

    Вот структура БД:

    Код:
    -- phpMyAdmin SQL Dump
    -- version 3.4.6
    -- http://www.phpmyadmin.net
    --
    -- Хост: localhost
    -- Время создания: Янв 29 2014 г., 19:18
    -- Версия сервера: 5.1.66
    -- Версия PHP: 5.3.10-pl0-gentoo
    
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";
    
    
    /*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */;
    /*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */;
    /*!40101 SET @[email protected]@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    
    --
    -- База данных: `dm_samp`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Структура таблицы `users`
    --
    
    CREATE TABLE IF NOT EXISTS `users` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `login` varchar(24) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
      `password` varchar(64) CHARACTER SET cp1251 COLLATE cp1251_bin NOT NULL,
      `age` int(11) NOT NULL,
      `pAdmin` int(11) NOT NULL DEFAULT '0',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
    
    /*!40101 SET [email protected]_CHARACTER_SET_CLIENT */;
    /*!40101 SET [email protected]_CHARACTER_SET_RESULTS */;
    /*!40101 SET [email protected]_COLLATION_CONNECTION */;
    MySQL log:

    Код:
    [19:35:18] >> mysql_query_callback( Connection handle: 1 )
    [19:35:18] Passing query SELECT `id` FROM `users` WHERE `login` = 'Trane' LIMIT 1 | ii
    [19:35:18] ProcessQueryThread(CheckPlayerRegistered) - Query was successful. (SELECT `id` FROM `users` WHERE `login` = 'Trane' LIMIT 1)
    [19:35:18] ProcessQueryThread(CheckPlayerRegistered) - Data caching enabled.
    [19:35:18] CMySQLHandler::StoreResult() - Result was stored.
    [19:35:18] CMySQLHandler::FreeResult() - Result was successfully free'd.
    [19:35:18] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()
    [19:35:18] CheckPlayerRegistered(ii) - Threaded function called.
    [19:35:18] >> cache_get_data( Connection handle: 1 )
    [19:35:18] ProcessTick() - The cache has been cleared.
    [19:35:19] >> mysql_query_callback( Connection handle: 1 )
    [19:35:19] Passing query SELECT `id` FROM `users` WHERE `login` = 'Trane' LIMIT 1 | ii
    [19:35:19] ProcessQueryThread(CheckPlayerRegistered) - Query was successful. (SELECT `id` FROM `users` WHERE `login` = 'Trane' LIMIT 1)
    [19:35:19] ProcessQueryThread(CheckPlayerRegistered) - Data caching enabled.
    [19:35:19] CMySQLHandler::StoreResult() - Result was stored.
    [19:35:19] CMySQLHandler::FreeResult() - Result was successfully free'd.
    [19:35:19] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()
    [19:35:19] CheckPlayerRegistered(ii) - Threaded function called.
    [19:35:19] >> cache_get_data( Connection handle: 1 )
    [19:35:19] ProcessTick() - The cache has been cleared.
    [19:35:23] >> mysql_real_escape_string( Connection handle: 1 )
    [19:35:23] CMySQLHandler::EscapeString(123456); - Escaped 8 characters to 123456.
    [19:35:23] >> mysql_query_callback( Connection handle: 1 )
    [19:35:23] Passing query SELECT * FROM `users` WHERE `login` = 'Trane' AND `password` = '123456' LIMIT 1 | i
    [19:35:23] ProcessQueryThread(PlayerLogin) - Query was successful. (SELECT * FROM `users` WHERE `login` = 'Trane' AND `password` = '123456' LIMIT 1)
    [19:35:23] ProcessQueryThread(PlayerLogin) - Data caching enabled.
    [19:35:23] CMySQLHandler::StoreResult() - Result was stored.
    [19:35:23] CMySQLHandler::FreeResult() - Result was successfully free'd.
    [19:35:23] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()
    [19:35:23] PlayerLogin(i) - Threaded function called.
    [19:35:23] >> cache_get_data( Connection handle: 1 )
    [19:35:23] ProcessTick() - The cache has been cleared.
    [19:35:30] >> mysql_query_callback( Connection handle: 1 )
    [19:35:30] Passing query UPDATE `users` SET `pAdmin` = '0' WHERE `pAdmin` = '2' LIMIT 1 | 
    [19:35:30] ProcessQueryThread() - Query was successful. (UPDATE `users` SET `pAdmin` = '0' WHERE `pAdmin` = '2' LIMIT 1)
    [19:35:30] CMySQLHandler::ProcessQueryThread() - Data is getting passed to ->ProcessTick()

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    PHP код:
    stock SaveAccount playerid )
    {
        new 
    query 144 ] ;
        
    format querysizeof query"UPDATE `users` SET `pAdmin` = '%d'  WHERE `pAdmin` = '%d' LIMIT 1",
        
    PlayerInfo playerid ] [ pAdmin ],
        
    PlayerInfo playerid ] [ ID ] ) ;
        
    mysql_function_query dbHandlequeryfalse"""" ) ;
        return 
    1;

    Прочитай внимательно свой запрос. Ты собираешься изменять аккаунт игрока, уровень админки которого равен ID аккаунта :)

  5. #5
    Аватар для Trane911
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.10.2013
    Сообщений
    66
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    PHP код:
    stock SaveAccount playerid )
    {
        new 
    query 144 ] ;
        
    format querysizeof query"UPDATE `users` SET `pAdmin` = '%d'  WHERE `pAdmin` = '%d' LIMIT 1",
        
    PlayerInfo playerid ] [ pAdmin ],
        
    PlayerInfo playerid ] [ ID ] ) ;
        
    mysql_function_query dbHandlequeryfalse"""" ) ;
        return 
    1;

    Прочитай внимательно свой запрос. Ты собираешься изменять аккаунт игрока, уровень админки которого равен ID аккаунта :)
    Что-то не пойму. Напиши, как будет правильно, желательно, напиши сохранение каких-нибудь 2 параметров. Например, админка и деньги, а я разберусь. Заранее спасибо.

  6. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    PHP код:
    stock SaveAccount playerid )
    {
        new 
    query 144 ] ;
        
    format querysizeof query"UPDATE `users` SET `pAdmin` = '%d', `Money` = '%d'  WHERE `pID` = '%d' LIMIT 1",
        
    PlayerInfo playerid ] [ pAdmin ],
        
    PlayerInfo playerid ] [ pMoney],
        
    PlayerInfo playerid ] [ ID ] ) ;
        
    mysql_function_query dbHandlequeryfalse"""" ) ;
        return 
    1;

    Только название столбцов и переменных я от балды взял

  7. #7
    Аватар для Trane911
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.10.2013
    Сообщений
    66
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    PHP код:
    stock SaveAccount playerid )
    {
        new 
    query 144 ] ;
        
    format querysizeof query"UPDATE `users` SET `pAdmin` = '%d', `Money` = '%d'  WHERE `pID` = '%d' LIMIT 1",
        
    PlayerInfo playerid ] [ pAdmin ],
        
    PlayerInfo playerid ] [ pMoney],
        
    PlayerInfo playerid ] [ ID ] ) ;
        
    mysql_function_query dbHandlequeryfalse"""" ) ;
        return 
    1;

    Только название столбцов и переменных я от балды взял
    Что-то все равно не получилось... Не сохранились данные...

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

    Статус
    Оффлайн
    Регистрация
    27.10.2013
    Сообщений
    66
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    PHP код:
    stock SaveAccount playerid )
    {
        new 
    query 144 ] ;
        
    format querysizeof query"UPDATE `users` SET `pAdmin` = '%d', `Money` = '%d'  WHERE `pID` = '%d' LIMIT 1",
        
    PlayerInfo playerid ] [ pAdmin ],
        
    PlayerInfo playerid ] [ pMoney],
        
    PlayerInfo playerid ] [ ID ] ) ;
        
    mysql_function_query dbHandlequeryfalse"""" ) ;
        return 
    1;

    Только название столбцов и переменных я от балды взял
    В чем еще может быть проблема? Переменные в моде и в БД одинаково записаны... Может быть через скайп проще будет?

  9. #9
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Цитата Сообщение от Trane911 Посмотреть сообщение
    В чем еще может быть проблема? Переменные в моде и в БД одинаково записаны... Может быть через скайп проще будет?
    Ты заменил то, что написал я, на свои данные? Название столбцов и т.п.? Судя по структуре БД, должно быть так
    PHP код:
    stock SaveAccount playerid )
    {
        new 
    query 144 ] ;
        
    format querysizeof query"UPDATE `users` SET `age` = '%d', `pAdmin` = '%d'  WHERE `id` = '%d' LIMIT 1",
        
    переменная возраста,
        
    PlayerInfo playerid ] [ pAdmin ],
        
    PlayerInfo playerid ] [ ID ]) ;
        
    mysql_function_query dbHandlequeryfalse"""" ) ;
        return 
    1;

    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    27.10.2013
    Сообщений
    66
    Репутация:
    1 ±
    Спасибо, DeimoS, помог, теперь я разобрался с сохранением.

    Модераторы закройте тему!

 

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

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

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

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

Ваши права

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