mssql_connect

Arndtinho

Erfahrenes Mitglied
Hi,

ich möchte zu einem MS SQL Server connecten und versuche das so:

$conn = mssql_connect($db_server, $user, $pw);

Beim Ausführen erhalte ich folgende Meldung:

'Fatal error: Call to undefined function: mssql_connect()'


Ich bin mir eigentlich ziemlich sicher das der Funktionsaufruf richtig ist. Wo liegt das Problem?

Gruß Arndtinho
 
Ich schätze mal deine PHP Version ist ohne den MSSQL Support kompiliert ? Dazu zitiere ich mal http://de2.php.net/mssql .

"Installation

Die MSSQL-Erweiterung wird durch den Eintrag extension=php_mssql.dll in die php.ini aktiviert.

Damit diese Funktionen zur Verfügung stehen, müssen Sie PHP mit --with-mssql[=DIR] übersetzen, wobei DIR der Präfix der FreeTDS-Installation ist. Und FreeTDS muss mit --enable-msdblib übersetzt werden. "


Davon ist auszugehen, da die Fehlermeldung besagt, dass es sich bei mssql_connect() um eine unbekannte Funktion handelt.
 
Es sollte doch auch funktionieren, wenn ich das Semikolon vor

extension=php_mssql.dll

entferne, oder?

Wenn ich dies mache, bekomme ich folgende Meldung:

'PHP Warning: Unknown(): Unable to load dynamic library './php_mssql.dll' - Das angegebene Modul wurde nicht gefunden. in Unknown on line 0'

Gruß Arndtinho
 
Damit diese Funktionen zur Verfügung stehen, müssen Sie PHP mit --with-mssql[=DIR] übersetzen, wobei DIR der Präfix der FreeTDS-Installation ist. Und FreeTDS muss mit --enable-msdblib übersetzt werden. "

ehm... wie macht man das genau?
könnte das wohl jemand ein bisschen genauer erklären?

;)
 
Soweit ich weiss, musst du das beim Compilieren von PHP als Parameter angeben.
Du kannst per phpinfo() unter "Configure Command" nach den Parametern gucken, die zum Compilieren genutzt worden sind. Wenn die Einträge vorhanden sind, leigt dein problem nicht darin und das PHP auf dem Server unterstützt mssql.

Falls du Webspace irgendwo gemietet hast, ist die Chance relativ gering, dass der Hoster etwas für dich ändern wird, solange du nicht extra zahlst (Scheiss Kapitalissmus) :mad:
 
ehm... wie macht man das genau?
könnte das wohl jemand ein bisschen genauer erklären?
klar

unix komandozeile im verzeichnis der PHP source distrubtíon:
Code:
./configure --with-mssql=/path/to/mssql/library --enable-msdblib
make
make install

Hingegen wenn PHP module extern angebunden werden (über dl() oder die extention directive) so ist dies meines wissens nicht erforderlich.

Unter windows hingegen sollte es also genügen nur die DLL einzubinden.

aber was mich wundert is das du die mssql funktionen benutzt, normalerweise greift man auich mssql datenbanken doch über odbc zu?
*sich noch sehr gut an seine erste versuche mit ODBC in C++ erinnert kann*
 
Schau mal nach ob die php_mssql.dll in deinem winnt/system32/ order liegt.
Wenn nicht schau mal im PHP-Paket (nicht im Installationsverzeichnis) nach, da gibt es einen Ordner Extensions dort liegt die dll. Dann einfach die dll in winnt/system32 reinkopieren.

Gruß
grashnak
 
Zurück