Как внести изменение в ячейку БД?
Помогите разобраться как правильно написать код? Есть переменная 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
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для внесения изменений в ячейку базы данных (БД) необходимо выполнить операцию обновления записи. Для этого потребуется использовать язык 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(); ?>
Не забудьте заменить значения переменных $servername, $username, $password, $dbname, table_name, column_name, new_value и condition на соответствующие ваши данные.
После выполнения запроса, вы получите сообщение об успешном обновлении записи или об ошибке, если что-то пошло не так. Убедитесь, что ваш запрос корректен и соответствует структуре вашей базы данных перед выполнением.