Подскажите пожалуйста, есть код, который обновляет запись таблицы:
<?php
$date = date("d.m.Y G:i");
$servername = "localhost";
$database = "*";
$username = "*";
$password = "*";
$conn = mysqli_connect($servername, $username, $password, $database);
mysqli_set_charset($conn, 'utf8');
$sql ="UPDATE modifier SET articul='".$_POST['articul']."', name='".$_POST['name']."', description='".$_POST['description']."', price='".$_POST['price']."' WHERE id='".$_POST['id_moda']."'";
mysqli_query($conn, $sql);
$id = mysqli_insert_id($conn);
mysqli_close($conn);
echo $id;
?>
Но $id почему то возвращает 0.
В чем может быть проблема?
В мануале написана чудовищно мутная фраза. Для простоты можно принять, что нормальный запрос UPDATE, разумеется, не возвращает last_insert_id, поскольку никаких вставок не происходило.
Учитывая же, что при обновлении строки по id значение этого поля нам и так заведомо известно, то непонятно, зачем вообще может понадобится вызывать какие-либо функции, чтобы её получить.
Поэтому вместо $id = mysqli_insert_id($conn); пишем просто $id = $_POST['id_moda'];
А вот реальная проблема с этим запросом в том, что тут инъекция на инъекции сидит, и инъекцией погоняет.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости