Второй запрос выполняется быстрее из-за этого mysqli_insert_id не успевает получить последний id. Как исправить? PHP: <?php $uploadDir = "uploads/"; $adres=$_POST['adres']; $city=$_POST['city']; $fileName = basename($_FILES['file']['name']); $uploadFilePath = $uploadDir.$fileName; $sql1="INSERT INTO room (id_city,id_user,adres) values ('$city','$id_user','$adres')"; mysqli_query($con, $sql1); $id_room=mysqli_insert_id($con); if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadFilePath)){ $sql2 = "INSERT INTO images (id_room, name_image) VALUES ('".$id_room."', '".$fileName."')"; $insert = $con->query($sql2); } ?>
Запрашивать последний вставленный ID до первого запроса, и увеличить его значение на единицу. Кстати, его можно использовать и в первом запросе, не надеясь на AUTO_INCREMENT
Да бред это... Пока первый запрос не отработает и не получите последний id, второй даже не начнет работать... Это ж не ассинхронное программирование
найс говнокод. тут используешь процедурный стиль там - ооп функцию. удачное выполнение 1ого INSERT нигде не фиксируется. Последний айди можно получить в sql запросе LAST_INSERT_ID() --- Добавлено --- и да, используй мульти-запрос