Bug->MSSQL + FreeTDS + Linux->Falscher Rückgabewert bei @mssql_query

Bug->MSSQL + FreeTDS + Linux->Falscher Rückgabewert bei @mssql_query

am 19.05.2005 13:47:41 von erik.mautsch

Hi,

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

Re: Bug->MSSQL + FreeTDS + Linux->Falscher Rückgabewert bei @mssql_query

am 19.05.2005 14:50:33 von dev-null-use-reply-adress

erik.mautsch@init.de schrieb:

> ich habe ein Problem mit PHP und MSSQL unter Linux.
> Kurze Schilderung:
>
> Laut unserer Admin's wurde PHP mit den benötigten Optionen
--------------------^ Autsch 8-)

> Wenn ich ein Insert/Update ausführe-->$query
> @mssql_free_result($this->result);
> $this->result = @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

Dazu finden sich diverse Einträge in der Bugdatenbank, die aber
soweit ich sehe, alle als behoben gekennzeichnet sind.
Zum Bleistift: http://bugs.php.net/bug.php?id=31195

Installiere also mal die aktuellste Version 4.3.11.


Gruß, JPM

Re: Bug->MSSQL + FreeTDS + Linux->Falscher Rückgabewert bei @mssql_query

am 19.05.2005 15:37:39 von erik.mautsch

phpinfo() sagte mir gerade, dass auf unserem stage eine 4.3.10'er
rumliegt.
danke für die info.

gruß wikkinger