Как внести изменение в ячейку БД?

Ссылка скопирована
1 ответ

Помогите разобраться как правильно написать код? Есть переменная id предположим имеет значение 11-2 , в базе данных три колонки с названием count1, count2, count3.
Необходимо в базе в строке 11 в колонке count2 прочитать значение и прибавить значение переменной count.

function change(){     $conn = connect();     $data = $_POST ['getdata'];     $stmt = $conn->prepare("UPDATE `sortlist` SET `count$id[1]` ='count$id[1]' + ? WHERE `id`= ? ;");     $stmt->bind_param('is', $count, $id[0]);//Привязка параметров integer,string     foreach ($data as $value) {         $id = $value["id"];                 $id=explode("-", $id);         $count = $value["count"];         $stmt->execute();     }

function change(){ $conn = connect(); $data = $_POST ['getdata']; $stmt = $conn->prepare("UPDATE `sortlist` SET `count$id[1]` ='count$id[1]' + ? WHERE `id`= ? ;"); $stmt->bind_param('is', $count, $id[0]);//Привязка параметров integer,string foreach ($data as $value) { $id = $value["id"]; $id=explode("-", $id); $count = $value["count"]; $stmt->execute(); }

Дополнительно:

Использование динамических запросов может привести к нарушению безопасности, поэтому я могу посоветовать следующий подход к этой проблеме:

$stmt = $conn->prepare( 	"UPDATE `sortlist`  	SET  		`count1` ='count1' + ? , 		`count2` ='count2' + ? , 		`count3` ='count3' + ?  	WHERE `id`= ? ;" ); $stmt->bind_param('iiis', $count1, $count2, $count3, $row);  foreach ($data as $value) { 	list($row, $col) = explode("-", $value['id']); 	 	$count1 = 0; 	$count2 = 0; 	$count3 = 0; 	 	$column = "count" . intval($col);  	$$column = $value["count"]; 	 	echo "$count1, $count2, $count3, $row"; 	 	$stmt->execute(); }

$stmt = $conn->prepare( "UPDATE `sortlist` SET `count1` ='count1' + ? , `count2` ='count2' + ? , `count3` ='count3' + ? WHERE `id`= ? ;" ); $stmt->bind_param('iiis', $count1, $count2, $count3, $row); foreach ($data as $value) { list($row, $col) = explode("-", $value['id']); $count1 = 0; $count2 = 0; $count3 = 0; $column = "count" . intval($col); $$column = $value["count"]; echo "$count1, $count2, $count3, $row"; $stmt->execute(); }

Share PHP code online

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Антон С. Ответ

Для внесения изменений в ячейку базы данных (БД) необходимо выполнить операцию обновления записи. Для этого потребуется использовать язык SQL и выполнить запрос к базе данных.

Прежде всего, убедитесь, что у вас есть доступ к базе данных и права на выполнение операций обновления данных. Затем определите таблицу, в которой находится нужная вам запись, и структуру этой таблицы.

Далее, составьте SQL запрос с использованием команды UPDATE. В запросе необходимо указать название таблицы, столбец, который требуется изменить, новое значение для этого столбца, и условие, по которому будет найдена нужная запись.

Пример запроса на языке PHP:

connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
 
// Пишем SQL запрос
$sql = "UPDATE table_name SET column_name = 'new_value' WHERE condition";
 
// Выполняем запрос
if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}
 
// Закрываем соединение
$conn->close();
?>

connect_error) { die("Connection failed: " . $conn->connect_error); } // Пишем SQL запрос $sql = "UPDATE table_name SET column_name = 'new_value' WHERE condition"; // Выполняем запрос if ($conn->query($sql) === TRUE) { echo "Record updated successfully"; } else { echo "Error updating record: " . $conn->error; } // Закрываем соединение $conn->close(); ?>

Не забудьте заменить значения переменных $servername, $username, $password, $dbname, table_name, column_name, new_value и condition на соответствующие ваши данные.

После выполнения запроса, вы получите сообщение об успешном обновлении записи или об ошибке, если что-то пошло не так. Убедитесь, что ваш запрос корректен и соответствует структуре вашей базы данных перед выполнением.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно