Где ошибка, при обновлении записи ?

На локальном сервере выполняю приведенный ниже sql запрос на обновление записи.
if (isset($_POST['name_com'])) { $name_com = $_POST['id_com']; if ($name_com == '') { unset($name_com);} }
if (isset($_POST['des_com'])) { $des_com = $_POST['des_com']; if ($des_com == '') { unset($des_com);} }
if (isset($_POST['login_prof_com'])) { $login_prof_com = $_POST['login_prof_com']; if ($login_prof_com == '') { unset($login_prof_com);} }
if (isset($_POST['id_com'])) { $id_com = $_POST['id_com']; if ($id_com == '') { unset($id_com);} }
mb_http_input("utf-8");
mb_http_output("utf-8");
mysql_query('SET NAMES utf8');

$result35 = mysql_query("UPDATE `company` SET name_com='$name_com',des_com='$des_com',login_prof_com='$login_prof_com' WHERE `id_com`='$id_com'");
$URL="../dashboard.php?nav=Настройки&message=Данные успешно обновлены.";
header ("Location: $URL");

Из-за какой-то ошибки обновление не происходит, иные запросы работают.

код формы:
echo '<form action="/functions/update.php?nav=Настройки" method="POST">
                  <p>
                    <input type="text" id="name_com" value="'.$company['name_com'].'" placeholder="Название организации" name="name_com" class="{validate:{required:true, minlength:3}}" />
                  </p>
<p>
                    <textarea id="des_com" name="des_com"  placeholder="Краткое описание" class="{validate:{required:true}}">'.$company['des_com'].'</textarea>
                  </p>
                  <p>Администратор:
                    <select name="login_prof_com" id="login_prof_com" placeholder="Логин администратора" class="">
                    <option value="'.$profile['login_prof'].'">'.$profile['lastname_prof'].'</option>';
/*Отображение сотрудников компании*/
$result = mysql_query ("SELECT login_prof,lastname_prof FROM profile WHERE delete_system!='удален' AND login_prof!='' AND cat_prof='Сотрудник' AND id_com_prof='{$company['inde_com']}'",$db);
$myrow = mysql_fetch_array($result);
do {
printf ("<option value='%s'>%s</option>
								",$myrow["login_prof"],$myrow["lastname_prof"]);
}
while ($myrow = mysql_fetch_array($result));
    echo'                </select>
                  </p>

                    <p>Валюта учета:
                      <input type="radio" name="radio" id="radio1"  />
                      <label for="radio1">Рубль(.Руб)</label>
                    </p>
                    <p>
                      <input type="radio" name="radio" id="radio2" />
                      <label for="radio2">Евро(.EUR)</label>
                    </p>
      <p>
                      <input type="radio" name="radio" id="radio3" />
                      <label for="radio3">Доллар(.USD)</label>
                    </p>
                <div class="action_bar">
                <input type="hidden" name="id_comm" value="'.$company['id_com'].'">
                  <input type="submit" class="button blue" value="Сохранить данные" />


              </form>';
  • Вопрос задан
  • 2448 просмотров
Решения вопроса 2
Fragster
@Fragster
помогло? отметь решением!
Срочно перейти на prepared satements
Ответ написан
IgorO2
@IgorO2
73
Ну ошибка возможно в том что некоторые переменные не определены
$result35 = mysql_query("UPDATE `company` SET name_com='$name_com',des_com='$des_com',login_prof_com='$login_prof_com' WHERE `id_com`='$id_com'");


вот тут ты используешь переменные, а на верху видно что если переменных $_POST[*] пустые ты уничтожаешь какую-либо из этих переменных ($name_com, $des_com...), или если их($_POST[*]) вообще не существует то и переменные неоткуда взять
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы