Mam pewien poważny problem z PHP + MSSQL 2005 Express + IIS 6.0 (Windows 2003 Server).
Uzyskuje połączenie z bazą danych bez problemu, SELECTy działają aż miło, ale mam pewien problem
z INSERTAMI (na UPDATEach nie testowałem).
W czym tkwi problem (taki oto kod, bardzo prosty):
<?php $query = " INSERT INTO [dbo].[testowa_tabela](nazwa) VALUES('to jest nowa nazwa'); DECLARE @id INT; SET @id = @@IDENTITY; SELECT @id; "; $result = mssql_query($query, $conn); ?>
Działa do pewnego czasu

Sprawdzałem uprawnienia SQLa, przeglądałem logi, testowałem na innych tabelach zawsze jest to samo. Wygląda to tak jakby ta informacja była przechowywana w jakimś tempie, ale fizycznie nie trafia do właściwej tabeli.
Co ciekawe zmiana kodu na:
<?php $query = " INSERT INTO [dbo].[testowa_tabela](nazwa) VALUES('to jest nowa nazwa'); DECLARE @id INT; SET @id = @@IDENTITY; SELECT * FROM [dbo].[testowa_tabela] WHERE id = @id; "; $result = mssql_query($query, $conn); ?>
Zwraca prawidłowe dane, ale tylko w trakcie trwania tego połączenia, jeśli zmienie @id na właściwe id rekordu i odpale skrypt ponownie dostaje pięknego nulla w wyniku

A żeby nie zapomnieć jeśli wywołuje dokładnie to samo zapytanie z poziomu SQL Server Management Studio 2005 wszystko jest ok, rekord dodawany jest do właściwej tabeli.
Czy miał ktoś podobny problem, lub zna jakieś rozwiązanie powyższej sytuacji?
Pozdrawiam
PhoeniX