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

Реклама


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

    Статус
    Оффлайн
    Регистрация
    04.11.2014
    Сообщений
    106
    Репутация:
    2 ±

    По переносу строки в запросах INSERT [MySQL]

    Хай, всем.
    Можно ли как то INSERT запрос перенести как UPDATE? Уж очень не удобно работать когда переменных много.
    Пример UPDATE запроса: (Взято из темы DeimoS)
    PHP код:
    stock SaveAccount(playerid)
    {
        new 
    query_string[(21)+(20+MAX_PLAYER_NAME)+(19+MAX_PLAYER_NAME)+(16+30)] = "UPDATE `accounts` SET";

        
    format(query_stringsizeof(query_string), "%s `player_name` = '%s',"query_stringpInfo[playerid][pName]);
        
    format(query_stringsizeof(query_string), "%s `password` = '%s'"query_stringpInfo[playerid][pPassword]);

        
    format(query_stringsizeof(query_string), "%s WHERE `player_name` = '%s'"query_stringpInfo[playerid][pName]);
        
    mysql_function_query(mysql_connect_IDquery_stringfalse"""");
        return 
    1;

    А вот сам INSERT запрос:
    PHP код:
    stock CreateNewAccount(playeridpassword[]) 

        new 
    query_string[70+MAX_PLAYER_NAME+30]; 
        
    format(query_stringsizeof(query_string), "INSERT INTO `accounts` (`player_name`, `password`) VALUES ('%s', '%s')"pInfo[playerid][pName], password); 
        
    mysql_function_query(mysql_connect_IDquery_stringfalse""""); 


        
    format(query_stringsizeof(query_string), "Аккаунт %s успешно зарегистрирован. Администрация желает Вам приятной игры!"pInfo[playerid][pName]); 
        
    SendClientMessage(playerid0xFFFFFF00query_string); 
        
    SpawnPlayer(playerid); 
        return 
    1

    Заранее спасибо.

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

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

    Ну а разбить строку так же, как и в первом случае, не выйдет. Можно только как-нибудь так:
    PHP код:
    format(query_stringsizeof(query_string), "INSERT INTO `accounts` (`player_name`, `password`, `blabla`, `blabla1`, `blabla2`, `blabla3`) ");
    format(query_stringsizeof(query_string), "%sVALUES ('%s', '%s', '%s',"query_stringpInfo[playerid][pName], passwordblabla);
    format(query_stringsizeof(query_string), "%s '%s', '%s', '%s')"query_stringblabla2blabla3blabla4); 
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    04.11.2014
    Сообщений
    106
    Репутация:
    2 ±
    А так можно?
    PHP код:
        format(query_stringsizeof(query_string), "INSERT INTO `accounts` (`player_name`, `password`, `blabla`, `blabla1`, `blabla2`, `blabla3`) ");
        
    format(query_stringsizeof(query_string), "%sVALUES"query_string);
        
    format(query_stringsizeof(query_string), "%s '%s', '%s', '%s')"query_stringblabla2blabla3blabla4); 

  4. #4
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,282
    Репутация:
    417 ±
    Цитата Сообщение от Lars Keller Посмотреть сообщение
    А так можно?
    PHP код:
        format(query_stringsizeof(query_string), "INSERT INTO `accounts` (`player_name`, `password`, `blabla`, `blabla1`, `blabla2`, `blabla3`) ");
        
    format(query_stringsizeof(query_string), "%sVALUES"query_string);
        
    format(query_stringsizeof(query_string), "%s '%s', '%s', '%s')"query_stringblabla2blabla3blabla4); 
    Ты не понял, кажется.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Цитата Сообщение от Lars Keller Посмотреть сообщение
    А так можно?
    PHP код:
        format(query_stringsizeof(query_string), "INSERT INTO `accounts` (`player_name`, `password`, `blabla`, `blabla1`, `blabla2`, `blabla3`) ");
        
    format(query_stringsizeof(query_string), "%sVALUES"query_string);
        
    format(query_stringsizeof(query_string), "%s '%s', '%s', '%s')"query_stringblabla2blabla3blabla4); 
    А какой в этом смысл? Вызывать функцию format лишний раз для того, чтоб отделить "VALUES" от остального запроса?
    Да и круглой скобки в третьем format не хватает
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

 

 

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

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

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

Ваши права

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