Задать вопрос

Как правильно подставить переменные в запрос mysql?

Пытаюсь обновить запись в таблице contract.

<?php
	echo "Сообщение отправлено!";

	// Получаем данные от js
	$contract_id = $_POST["contract_id"];
	$contract_name = $_POST["contract_name"];
	$contract_html = $_POST["contract_html"];
	$contract_date = $_POST["contract_date"];

	// Параметры подключения
	$host = "localhost";
	$database = "base";
	$user = "user";
	$password = "pass";

	// Создаем подключение
	$link = mysqli_connect($host, $user, $password, $database);
	if (!$link) {
		echo "Ошибка" . PHP_EOL;
		echo "Код ошибки errno: " . mysqli_connect_errno() . PHP_EOL;
		echo "Текст ошибки: " . mysqli_connect_error() . PHP_EOL;
		exit;
	}

	echo "Соединение установлено!" . PHP_EOL;
	echo "Информация о сервере: " . mysqli_get_host_info($link) . PHP_EOL;

	// Выполняем операции с БД
	$query = 'UPDATE contract SET (contract_name = $contract_name, contract_html = $contract_html, contract_date = $contract_date, WHERE contract_id = $contract_id';

	if(mysqli_query($link, $query)) {
		echo "Запись добавлена!";
	} else {
		echo "Запись НЕ добавлена!";
	}

	// Закрываем подключение
	mysqli_close($link);
?>


В результате получаю "Запись НЕ добавлена".

Что делаю не так?
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Правильно подставлять переменные через подготовленные запросы.
https://www.php.net/manual/en/mysqli.quickstart.pr...
Ну и за синтаксисом следить. А у вас незакрытая (ненужная) скобка, лишняя запятая.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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