Mit PHP auf MSSQL DB connecten
Hallo liebe Formleute
Wie mein Titel schon sagt möchte ich, bzw. muss ich, mit PHP auf eine MSSQL Datenbank zugreifen. Ich erhalte leider keine Fehlermeldung die mir weiter helfen könnte.
PHP funktioniert auf dem Webserver ohne Probleme. ntwdblib.dll wurde kopiert.
Die Angaben (User, DB-Name usw.) sind korrekt und wurden schon von diversen Leuten überprüft.
Informationen:
PHP Version: 5.2.11
IIS: 6.0
Windows Server: 2003
Dieses Beispiel funktioniert leider auch nicht.
Vielen Dank im Voraus
Liebe Grüsse
Wie mein Titel schon sagt möchte ich, bzw. muss ich, mit PHP auf eine MSSQL Datenbank zugreifen. Ich erhalte leider keine Fehlermeldung die mir weiter helfen könnte.
PHP funktioniert auf dem Webserver ohne Probleme. ntwdblib.dll wurde kopiert.
<?php
$link = mssql_connect('localhost', 'user', 'passwort') or die ("error"); // Servername, username, passwort
mssql_select_db('datenbankname', $link); // Datenbank anwählen
?>
Die Angaben (User, DB-Name usw.) sind korrekt und wurden schon von diversen Leuten überprüft.
Informationen:
PHP Version: 5.2.11
IIS: 6.0
Windows Server: 2003
Dieses Beispiel funktioniert leider auch nicht.
<?php
mssql_connect('localhost', 'user', 'passwort') or die ("error"); // Servername, username, passwort
mssql_select_db('datenbankname'); // Datenbank anwählen
?>
Vielen Dank im Voraus
Liebe Grüsse
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 127931
Url: https://administrator.de/contentid/127931
Ausgedruckt am: 20.11.2024 um 07:11 Uhr
9 Kommentare
Neuester Kommentar
@maretz:
@Franki:
In der Regel gibt es diese nämlich immer, die Frage ist nur ob sie auch angezeigt wird oder nicht, in einer Variable und/oder dem Logfiles des Webservers / Systems gespeichert wird.
Bei der Entwicklung eines Skripts ist es von daher immer gut "error_reporting(E_ALL | E_STRICT);" zu verwenden um über alle Fehler, Warnungen ect. informiert zu werden. (siehe auch "dislpay_error")
Mit MSSQL habe ich noch nichts zu tun gehabt und kenne mich deshalb auch nicht mit den PHP-Funktionen aus, aber PHP-Manual - mssql_get_last_error() scheint die richtige Funktion zu sein um an eine Fehlermeldung des MSSQL-Servers zu kommen.
~Arano
Ich erhalte leider keine Fehlermeldung die mir weiter helfen könnte.
@Franki:
Dieses Beispiel funktioniert leider auch nicht.
- Und das weisst du woher ?
- Was sollte den passieren, wie würdest du wissen das es geklappt hat ?
- Wo ist denn nun dein Problem ?
- Verbindung zu DB-Server herstellen oder
- Die zu verwendende Datenbank auswählen ?
In der Regel gibt es diese nämlich immer, die Frage ist nur ob sie auch angezeigt wird oder nicht, in einer Variable und/oder dem Logfiles des Webservers / Systems gespeichert wird.
Bei der Entwicklung eines Skripts ist es von daher immer gut "error_reporting(E_ALL | E_STRICT);" zu verwenden um über alle Fehler, Warnungen ect. informiert zu werden. (siehe auch "dislpay_error")
Mit MSSQL habe ich noch nichts zu tun gehabt und kenne mich deshalb auch nicht mit den PHP-Funktionen aus, aber PHP-Manual - mssql_get_last_error() scheint die richtige Funktion zu sein um an eine Fehlermeldung des MSSQL-Servers zu kommen.
~Arano
Was ist mit den Ports?
Ist der Server so eingerichtet, dass er eventuell nur über NamedPipes erreichbar ist?
Oder vielleicht auch nur auf der eigentlichen IP-Adresse antwortet und nicht auf localhost (127.0.0.1)?
Guck dir mal bitte an, wie sich das Management Studio verbindet bzw. wohin es sich verbindet.
Diese Daten übernimmst du dann mal, wenn es per IP und nicht per NamedPipe ist.
Ist der Server so eingerichtet, dass er eventuell nur über NamedPipes erreichbar ist?
Oder vielleicht auch nur auf der eigentlichen IP-Adresse antwortet und nicht auf localhost (127.0.0.1)?
Guck dir mal bitte an, wie sich das Management Studio verbindet bzw. wohin es sich verbindet.
Diese Daten übernimmst du dann mal, wenn es per IP und nicht per NamedPipe ist.
Moin,
da meine Erfahrungen mit dem MS-SQL etwas her sind bitte nicht hauen -> aber bei den meisten DB-Servern kann man nicht nur User anlegen sondern auch sagen von wo die sich verbinden dürfen...
Hast du dir mal nen SQL-Client (db-Manager Standard von dbtools z.B.) geschnappt und damit von deinem PC versucht ne Verbindung herzustellen? Nicht das du ganz einfach nur nen falschen Host für den User
eingestellt hast... (k.A. ob MS-SQL das dann mit nem Dummy-User probiert).
da meine Erfahrungen mit dem MS-SQL etwas her sind bitte nicht hauen -> aber bei den meisten DB-Servern kann man nicht nur User anlegen sondern auch sagen von wo die sich verbinden dürfen...
Hast du dir mal nen SQL-Client (db-Manager Standard von dbtools z.B.) geschnappt und damit von deinem PC versucht ne Verbindung herzustellen? Nicht das du ganz einfach nur nen falschen Host für den User
eingestellt hast... (k.A. ob MS-SQL das dann mit nem Dummy-User probiert).
Habs grade mal selbst probiert. Also dein PHP-Script funktionier bei mit wunderbar.
Meine Umgebung:
- XAMMP (default config und aktuelle Version)
- MSSQL 2008
Versucht habe ich es mit dem 'sa' Benutzer, nur um sicher zu gehen, dass ich alles darf. ;)
Also liegt dein Problem wohl irgendwo an der Konfiguration des IIS, deiner PHP-Umgebung, oder den Berechtigungen/Einstellungen der Datenbank.
Einen Lösungsansatz habe ich durch googlen hier gefunden:
http://www.google.de/search?hl=de&q=experts+exchange+login+failed+f ...
Bitte nimm den ersten Link.
Außerdem solltest du dir folgendes mal durchlesen und überprüfen:
http://www.helpspot.com/helpdesk/index.php?pg=kb.page&id=13
Lg ddcool
Meine Umgebung:
- XAMMP (default config und aktuelle Version)
- MSSQL 2008
Versucht habe ich es mit dem 'sa' Benutzer, nur um sicher zu gehen, dass ich alles darf. ;)
Also liegt dein Problem wohl irgendwo an der Konfiguration des IIS, deiner PHP-Umgebung, oder den Berechtigungen/Einstellungen der Datenbank.
Einen Lösungsansatz habe ich durch googlen hier gefunden:
http://www.google.de/search?hl=de&q=experts+exchange+login+failed+f ...
Bitte nimm den ersten Link.
Außerdem solltest du dir folgendes mal durchlesen und überprüfen:
http://www.helpspot.com/helpdesk/index.php?pg=kb.page&id=13
Lg ddcool