Если я выполню запрос вставки с хранимой процедурой с php и функциями mysqli _*, есть ли способ получить значение поля id автоинкремента? mysqli->insert_id не похоже на работу.
_
mysqli->insert_id
Вы уверены, что последний введенный вами запрос был INSERT?
mysqli->insert_id кажется правильным ответом:
Возвращаемые значения Значение поля AUTO_INCREMENT, которое было обновлено по предыдущему запросу. Возвращает ноль, если не было никакого предыдущего запроса на соединение или если запрос не обновить значение AUTO_INCREMENT.
Значение поля AUTO_INCREMENT, которое было обновлено по предыдущему запросу. Возвращает ноль, если не было никакого предыдущего запроса на соединение или если запрос не обновить значение AUTO_INCREMENT.
AUTO_INCREMENT
Вы можете добавить этот оператор в хранимую процедуру после вставки:
SET @saved_id = LAST_INSERT_ID()
Затем выполните этот запрос после вызова процедуры:
SELECT @saved_id
Вы можете попытаться сделать запрос к MySql , например так:
SELECT LAST_INSERT_ID()
Не уверен, что он работает с хранимыми процедурами.
mysqli->insert_id (где mysqli представляет ваше подключение к базе данных) должен использоваться непосредственно после вставки. Если вы выполняете другие запросы по тому же соединению перед попыткой прочитать insert_id возвращается 0.
mysqli
insert_id