letehaha
@letehaha
Вникаю вo front-end

Как вставить значение в БД?

Начал изучать работу с БД через PHP + PDO. С выводом разобрался, а вот с вводом проблема.
require_once('./db-connect.php');

	$f_name = $_POST['f_name'];
	$s_name = $_POST['s_name'];
	$m_name = $_POST['m_name'];
	$position = $_POST['list-position'];

	$sql = 'INSERT INTO employees (first_name, second_name, middle_name, id_position) VALUES ('.$f_name.', '.$s_name.', '.$m_name.', '.$position.')';

Что я делаю не так? Данные просто не добавляются в БД.
  • Вопрос задан
  • 213 просмотров
Решения вопроса 1
SimBioT19
@SimBioT19
{{ user.about }}
$query = $db->prepare('INSERT INTO employees (first_name, second_name, middle_name, id_position) 
VALUES (:first_name, :second_name, :middle_name, :id_position');

$query->execute(
[
 ':first_name' => $f_name,
 ':second_name' => $s_name,
 ':middle_name' => $m_name, 
 ':id_position' => $position
]);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Никогда не мог понять, почему пользователи пхп так стремятся раздувать код на пустом месте и писать одно и тоже по 5-6 раз.

$sql = 'INSERT INTO employees (first_name, second_name, middle_name, id_position) VALUES (?, ?, ?, ?)';
$pdo->prepare($sql)->execute([$_POST['f_name'], $_POST['s_name'], $_POST['m_name'], $_POST['list-position']]);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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