mysql_insert_id возвращает 0 после UPDATE

117
01 октября 2019, 03:20

Подскажите пожалуйста, есть код, который обновляет запись таблицы:

<?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. В чем может быть проблема?

Answer 1

В мануале написана чудовищно мутная фраза. Для простоты можно принять, что нормальный запрос UPDATE, разумеется, не возвращает last_insert_id, поскольку никаких вставок не происходило.

Учитывая же, что при обновлении строки по id значение этого поля нам и так заведомо известно, то непонятно, зачем вообще может понадобится вызывать какие-либо функции, чтобы её получить.

Поэтому вместо $id = mysqli_insert_id($conn); пишем просто $id = $_POST['id_moda'];

А вот реальная проблема с этим запросом в том, что тут инъекция на инъекции сидит, и инъекцией погоняет.

READ ALSO
передача из формы в БД php/mysql

передача из формы в БД php/mysql

Возникла некая проблема при создание формыТо есть, при заполнении таблицы нужно создать в БД таблицу с названием, которое содержит переменная...

132
DOMDocument как добавить ноду в начало списка потомков?

DOMDocument как добавить ноду в начало списка потомков?

Мне нужно после открывающего тега добавить ноду, проблема в том что внутри head уже есть потомкиКаким способом это можно сделать?

139
Notice : Undefined index: uid in

Notice : Undefined index: uid in

Проблема состоит в том, что при авторизации на сайте ошибка исчезает (тк

137