Alors que je développe un adaptateur MS SQL pour mon framework PHP, c'est sans souci que j'ai pu le faire se connecter à la base de données, créer, éditer et supprimer des entrées.
Mais la méthode pour récupérer l'identifiant de la dernière entrée insérée me retourne systématiquement une erreur. J'essaie
SELECT @@IDENTITY;
, puis
SELECT SCOPE_IDENTITY();
… Rien n'y fait, ces instructions sont inconnues. Je cherche sur Internet pendant des heures pour déterminer s'il y a un soucis avec PDO, DB LIB (le pilote pour MS SQL), ou SQL Server.
Je trouve un bon nombre de topics sur le sujet, mais rien ne convient exactement à mon problème (« Undefined function SCOPE_IDENTITY() »).
J'aurais dû remarquer que les données insérées via PHP n'étaient pas les mêmes que celles sur Microsoft SQL Server Management Studio. Pour tester, j'ai la même base de données sous MySQL, PostgreSQL et MS SQL… Il était connecté à celle de PostgreSQL.
En matière de problème dû à l'utilisateur, on est jamais mieux servi que par soi-même. PEBKAC.