LAST_INSERT_ID est justement ce qui est appelé lors de
mysqli_insert_id :o)
Locker les tables est une très mauvaise idée. Ça va dégommer les performances, et entraîner beaucoup de problèmes (dead locks, lock up, etc).
De toute façon, utiliser l'id d'auto-incrément pour désigner chercher une ressource n'est pas forcément une idée pertinente ;) Personnellement, je préfères chercher un information qui est sensée être unique, genre un doublet (timestamp,titre), et faire en sorte de que les colonnes soient indexées ^^;
Il n'y a pas de bonne solution, tout le monde y va de son bricolage. Mais privilégier la nature de la chose insérée plutôt qu'un identifiant me paraît plus pertinent.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.