heksen
@heksen

Где может быть ошибка в запросе?

Привет! Есть такая POST-обработка:
if ( $_POST["func"] == "AddNewPerson" )
{

 if (isset($_POST['fio'])) { $fio = $_POST['fio'];  if ($fio == '')  unset($fio); }
 if (isset($_POST['pn']))  { $pn  = $_POST['pn'];   if ($pn  == '')  unset($pn);  }
 if (isset($_POST['vt']))  { $vt  = $_POST['vt'];   if ($vt  == '')  unset($vt);  }
 if (isset($_POST['sr']))  { $sr  = $_POST['sr'];   if ($sr  == '')  unset($sr);  }
 if (isset($_POST['cht'])) { $cht = $_POST['cht'];  if ($cht == '')  unset($cht); }
 if (isset($_POST['pt']))  { $pt  = $_POST['pt'];   if ($pt  == '')  unset($pt);  }
 if (isset($_POST['sb']))  { $sb  = $_POST['sb'];   if ($sb  == '')  unset($sb);  }
 if (isset($_POST['vs']))  { $vs  = $_POST['vs'];   if ($vs  == '')  unset($vs);  }

 $user_id = $_SESSION["user_id"];

 // id, fio, pn, vt, sr, cht, pt, sb, vs, user_id, group_id, data_reg
 $result = $mysqli->query("INSERT INTO personal VALUES ( NULL,'".$fio."','".$pn."','".$vt."','".$sr."','".$cht."','".$pt."','".$sb."','".$vs."','".$user_id."',154,'",GETDATE(),"')" );
 if (!$result) error($mysqli->error);
 
 $result->free();
 $result->close();
 $mysqli->close();
}


Данные в таблицу не приходят, ошибку Mysql не возвращает. Где может быть ошибка?
  • Вопрос задан
  • 156 просмотров
Пригласить эксперта
Ответы на вопрос 3
@vilgeforce
Раздолбай и программист
Ошибка в том, что вы не приводите код SQL-запроса, который реально уходит в базу.
Ответ написан
shcherbanich
@shcherbanich
Программист
Подготовка запроса и фильтрация переменных? Не, не слышал...

php.net/manual/ru/mysqli.prepare.php - это для mysqli . Жить станет проще ) А потом может и на PDO перейдете :)
Ответ написан
Комментировать
elevenelven
@elevenelven
Php Dev @ Amadeus
А вас не смущает, что если не придет, скажем $_POST['vs'], то у вас не будет переменной $vs.
А ниже по коду вы к ней ($vs) обращаетесь. Это Notice - Undefined variable и неконтролируемое поведение.

Кроме того вы прямо в тело запроса пихаете ввод из POST. Это прямой путь к SQL-injection.
Ответ написан
Ваш ответ на вопрос

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

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