Bug->MSSQL + FreeTDS + Linux->Falscher Rückgabewert bei @mssql_query
am 19.05.2005 13:47:41 von erik.mautschHi,
ich habe ein Problem mit PHP und MSSQL unter Linux.
Kurze Schilderung:
Laut unserer Admin's wurde PHP mit den benötigten Optionen
(mssql...etc) kompiliert und freetds in der Version 0.62 installiert.
PHP liegt in der Version 4,3x vor.
Wenn ich ein Insert/Update ausführe-->$query
@mssql_free_result($this->result);
$this->result =3D @mssql_query($query, $this->connection);
dann ist $this->result mit false belegt, obwohl die Verbindung zur
Datenbank steht und die SQL Operationen ausgeführt wurden. Das ist
daher tragisch, da ich im Fall "if (!$this->result)" das ErrorHandling
aufrufe und eine entsprechende Fehlermeldung ausgegeben wird.
Alle SQL Operationen und Funktionen, die danach kommen sollten, werden
nicht mehr ausgeführt.
Momentan habe ich das so gefaked, das ich bei Insert/Update Befehlen
ein Flag (flag =3D false) mit übergebe und das dann explizit in der if
condition abfrage-->also in den beiden Fällen das ErrorHandling
explizit untersage. Der Fehler tritt ja auch nur bei Insert/Update auf,
nicht bei einfachen Select's.
Auch unter Windows läuft das alles problemlos.
Ich möchte schon eine saubere Lösung, die faked Lösung kann man beim
Kunden später nicht anbieten...
Hat jemand Erfahrung bereits damit, oder kann mir einen Tipp geben?
Danke und Gruß
Wikkinger