Как правильно подставить переменные в запрос 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);
?>


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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
22 апр. 2024, в 16:15
18000 руб./за проект
23 апр. 2024, в 16:55
10000 руб./за проект