За последние 24 часа нас посетил 18401 программист и 1600 роботов. Сейчас ищут 868 программистов ...

Двойные запросы

Тема в разделе "PHP и базы данных", создана пользователем Zalax, 13 фев 2011.

  1. Zalax

    Zalax Активный пользователь

    С нами с:
    13 фев 2011
    Сообщения:
    3
    Симпатии:
    0
    Доброго времени суток!
    Подскажите как правильно оформить такой запрос:

    [sql]SELECT @max_id:=MAX(id)FROM buying;
    UPDATE buying
    SET data_dostavki = "new_znach" WHERE id=@max_id[/sql]

    Запрос находит последнюю запись и изменяет 1 поле в ней на новое. проблема в том, что не могу правильно оформить в пхп виде, через навикат проверял все норм работает.
    PHP:
    1.  
    2. <?php
    3. $host="localhost";
    4. $user="manager";
    5. $pwd="manager";
    6. $database="test";
    7. $db=mysql_connect($host,$user,$pwd) or die ("ne podklychilsa k base!!");
    8. mysql_select_db($database) or die("cannot take base!");
    9. $query = "SELECT @max_id:=MAX(id)FROM buying;
    10. update buying
    11. set data_dostavki = ' ".$_POST['data_dostavki']." ' where id=@max_id";
    12. echo $query;
    13. if (!mysql_query($query, $db))
    14. {
    15. die ('Error: '.mysql_error());
    16. }
    17. echo "Sucessfyli 1!";
    18.   mysql_close($db);
    19. ?>
    Выдает
    Error: 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 'update buying set data_dostavki = ' asdasd ' where id=@max_id' at line 2
    я понимаю что ошибка в синтаксисе, но где? и почему пишет что линия 2, там вообще имя юзера задается
    пробовал писать
    PHP:
    1. update buying set data_dostavki = ' ".$_POST['data_dostavki']." ' where id=(SELECT MAX(id)FROM buying)
    тоже не получается