подскажите с UPDATE

Тема в разделе "Базы данных", создана пользователем zavu, 19 июл 2011.

Модераторы: latteo
  1. zavu

    zavu

    Регистр.:
    24 сен 2010
    Сообщения:
    180
    Симпатии:
    14
    У меня есть форма с несколькими строчками для редактирования, но пользователь может редактировать только некоторые из данных, а некоторые поля оставлять пустыми.
    Запрос в обработчике выглядит так:

    Код:
    $query = "UPDATE characters SET pole1='$pole1', pole2='$pole2', pole3='$pole3', pole4='$pole4', pole5='$pole5' WHERE id='$userid'";
    $result = mysql_query($query) or die(mysql_error());;
    И вот если пользователь заполняет не все поля, то незаполненные становятся в БД пустыми=/ а нужно, чтобы незаполненные такой запрос просто оставлял прежними.

    Писать для каждого поля обработку отдельно это единственный выход? Может, можно как-то сделать по-другому?
     
  2. Funaki

    Funaki

    Регистр.:
    26 июн 2008
    Сообщения:
    151
    Симпатии:
    16
    подозреваю, что надо так:
    Код:
    $query = "UPDATE characters SET pole1=IFNULL('$pole1',pole1), pole2=IFNULL('$pole2',pole2), pole3=IFNULL('$pole3',pole3), pole4=IFNULL('$pole4',pole4), pole5=IFNULL('$pole5',pole5) 
    WHERE id='$userid'";
    $result = mysql_query($query) or die(mysql_error());;
     
    zavu нравится это.