Я знаю, что подобные вопросы задавались, но ни один из них, кажется, не работает для того, что я пытаюсь.
Я разрабатываю систему с mysqli / php, которая берет аудио файлы, загружает их, переименовывает их и сохраняет имя. Единственная проблема … Мне нужно, чтобы имя файла было «uploadedfile _ [$ id_here] .mp3»
У меня вся система загрузки работает нормально, но я на самом последнем шаге … Как заставить работать идентификатор.
Столбец id в этой таблице — Auto_Increment. Мне просто нужно выяснить, как «предсказать» идентификатор Auto_Increment, который будет присвоен этой предстоящей новой строке, и пометить его в конце имени аудиофайла с помощью переменной.
Один из методов, которые я попробовал:
$result = mysqli_query($conn, "SHOW TABLE STATUS LIKE 'test_table'");
$row = mysqli_fetch_array($result);
$nextId = $row['Auto_increment'];
print $nextId;
Но это не возвращает никаких результатов. Мой файл соединений должен быть настроен правильно, так как я использовал его для других запросов, и он работает нормально.
Заранее спасибо!
Это действительно зависит от того, как часто этот код будет выполняться?
Автоинкремент работает, увеличиваясь на 1 каждый раз. запись вставлена, я только что начал PHP сам, но, конечно, вы можете просто добавить 1 к вашему …
$nextId = $row['Auto_increment'];
который даст вам следующее удостоверение личности. Если, как сказал Маерлин, у вас нет двух пользователей одновременно, в этом случае я думаю, что вы можете вставить в временную таблицу, пока запись вставляется, и, если это удастся, вставить в основную таблицу и удалить из временной таблицы , При вставке в временную таблицу сначала нужно выполнить проверку, чтобы увидеть, существует ли запись во временной таблице, прежде чем что-либо предпринимать.
Просто мои два цента.
Просто выполните ваш запрос INSERT и затем получите $mysqli->insert_id