Составной запрос

Discussion in 'PHP' started by tarantas, 23 Mar 2006.

  1. tarantas

    tarantas New Member

    Joined:
    20 Mar 2006
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    День добрый.
    Помогите, пожалуйста, создать состаной запрос.

    Есть запрос SELECT * FROM xxx_table WHERE user_id =
    После "=" можно добавить все, что угодно (по крайней мере я на это надеюсь).

    Нужно сделать структурированный запрос с SELECT * FROM xxx_table WHERE user_id = (это никак не убрать), чтобы ещё выполнялось : UPDATE xxx_table SET xxx_column = n WHERE user_id = m

    Знающих людей убедительно прошу помочь. :)

    ---

    Т.е. попросту говоря: Мне нужно, чтобы выполнялся запрос : UPDATE xxx_table SET xxx_column = n WHERE user_id = m

    Уже есть запрос : SELECT * FROM xxx_table WHERE user_id =
    И после "=" можно вставить все что угодно.

    Т.е. меня не интересует SELECT, он просто есть и его никак не убрать.

    Мне хотелось бы, чтобы выполнялось UPDATE xxx_table SET xxx_column = n WHERE user_id = m

    Спасибо. :)
     
  2. ZaCo

    ZaCo Banned

    Joined:
    20 Jun 2005
    Messages:
    737
    Likes Received:
    336
    Reputations:
    215
    подставь 1;UPDATE xxx_table SET xxx_column = n WHERE user_id = m
    только не пытайся это провернуть в мускле :) в нем у тебя ничего не получится
     
  3. tarantas

    tarantas New Member

    Joined:
    20 Mar 2006
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Пробовал. Пишет про неверный синтаксис. :(
     
  4. Deem3n®

    Deem3n® RTFMSDN

    Joined:
    19 Sep 2005
    Messages:
    378
    Likes Received:
    153
    Reputations:
    164
    Видимо надо отсечь лишние данные в первоначальном запросе:
    1;UPDATE xxx_table SET xxx_column = n WHERE user_id = m --

    Ты уверен что серв переваривает составные запросы (like MSSQL)?
     
    #4 Deem3n®, 25 Mar 2006
    Last edited: 25 Mar 2006
  5. tarantas

    tarantas New Member

    Joined:
    20 Mar 2006
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    2 и более запросы не прокатывают.

    Т.е. SELECT ... ; UPDATE ...
    Такое - не работает. Вообще, это наверно скорее даже sql-injection и я хочу ей воспользоваться.

    Возможно ли вставить внутрь selecta запрос UPDATE ?

    Я был бы очень благодарен, если бы кто-нибудь подсказал правильное решение.

    Или, есть ещё такой вариант :
    DELETE FROM xxx WHERE n_id = СЮДА МОЖНО ВСТАВИТЬ AND m_id = x

    ---

    Возможно ли впихнуть UPDATE ?

    Спасибо. ОЧЕНЬ надеюсь на помошь :(
     
  6. tarantas

    tarantas New Member

    Joined:
    20 Mar 2006
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Например я знаю, что существует типа такого :

    DELETE FROM Salespeople
    WHERE EXISTS
    (SELECT *
    FROM Customers
    WHERE rating = 100
    AND Salespeople.snum = Customers.snum);
    (пример).

    Так неужели вместо долбаного SELECT нельзя использовать UPDATE ?