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