# Unable to connect to server mssql_connect()



## Briefkasten (25. August 2006)

Hallo,

ich will von meinem php Skripit auf meine lokale SQL Express DB zugreifen.

Hier der Code:


```
//Uservariablen für den Datenbankzugang
 $mssql['host'] = 'localhost,1433';
 $mssql['user'] = "Martin";
 $mssql['password'] = "+++++";
 $mssql['database'] = "kappl";

 echo $mssql["host"];

 //Datenbankverbindung aufbauen und Datenbank ausw&auml;hlen
 $verbindung = mssql_connect($mssql["host"], $mssql["user"], $mssql["password"]);
    mssql_select_db($mssql["database"], $verbindung);
```

Bekomme die Fehlermeldung:

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: localhost,1433 in 

Ich denke der Fehler liegt an der Konfiguration und nicht am PHP Skript, könnte aber auch sein)

Mein System (alles lokal) sieht wie folgt aus:

Windows XP IIS (PHP fähig) benötigte extensions sind in der PHP.ini aktiviert
SQL Express
Im SQL Server Konfigurations Manager ist die TCP/IP Verbindung akteviert.
Erste IP sieht wie folgt aus:
Aktiviert :Ja
Dynamische TCP-Ports:-
IP Adresse 192.168.0.2
TCP Port:1433
Zweite IP sieht wie folgt aus:
Aktiviert:Ja
Dynamische TCP-Ports:-
IP-Adresse 127.0.0.1
TCP-Port:-
IPAll
Dynamische TCPPort 1025
TCPPort:-

Habt ihr eine Idee warum ich die Fehldermeldung bekomme?

mfg Briefkasten


----------



## Ardaric (25. August 2006)

Es heißt serverort
$mssql['host'] = 'localhost:1433'; 

http://de.php.net/manual/de/function.mysql-connect.php


----------



## hikeda_ya (25. August 2006)

ist es über netzwerk oder lokal

wenn über netzwerk dann musst du den host name / IP angeben


----------



## Biermab (25. August 2006)

localhost
localhost\SQLEXPRESS
localhost\1433
localhost:1433
läuft nicht unter Windows

localhost,1433

f unzt
So waren meine Erfahrungen


----------



## hikeda_ya (25. August 2006)

mS sql oder mY sql datenbank?


----------



## Briefkasten (26. August 2006)

Biermab hat gesagt.:
			
		

> localhost
> localhost\SQLEXPRESS
> localhost\1433
> localhost:1433
> ...



localhost,1433 verwende ich bereits im Skript oben. Was mich wundert ist, dass ich nirgends den namen SQLEXPRESS angeben muss. Findet die funktion mssql_connect selber heraus mit was sie sich verbinden muss.

Ich gehe nach wie vor davon aus, dass ich irgendwo einen Konfigurations Fehler habe. PS: Ich melde mich bzw ich versuche mich über die NT Benutzer von Windows anzumelden. Kann eine DesktopFirewall evt. blocken ( hab Sie derzeit ausgeschaltet)

mfg Briefkasten


----------



## shanxp (2. Juni 2007)

Hallo,
ich habe das selbe Problem   . 
ich habe php 5 und MSSQL Express installiert.
in php sehe ich dass" MSSQL enabled" ist.
ich kriege die Fehlermeldung
"Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server:"

was ist eingentlich hostname in diesem Fall ?
localhost\SQLEXPRESS  
ich habe folgendes ausprobiert.
localhost\SQLEXPRESS
localhost/SQLEXPRESS
localhost
localhost:1433

KEIN ERFOLG !!

  
kann mir jemand helfen


----------



## Flex (2. Juni 2007)

Für Windows musst du folgende Version benutzen:


```
$conn = mssql_connect('localhost,1433');
```

Hier auch ein Auszug aus den Kommentaren von [phpf]mssql_connect[/phpf].



> To connect to SQL Server 2005 Express on Windows, do it like this:
> 
> mssql_connect ('localhost,1433', '[redacted]', '[redacted]');
> 
> ...



Genau das gleiche steht übrigens ein Post über dir. Warum hast du diese Version nicht probiert?


----------



## shanxp (2. Juni 2007)

Es funktioniert leider nicht  
Fehlermeldung :
Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: localhost,1433 .

username  hab ich windows anmeldename
passwd anmelde passwd 
ist das richtig so oder?


----------



## Flex (2. Juni 2007)

Das ist richtig, falls du bei der Installation Windows Authentifizierung angegeben hast...


----------



## hikeda_ya (16. August 2007)

ich habe das selbe Problem allerdings mit dem MSSQL-Server des Win2k3 Small Business Server. 

Ich habe jedoch feststellen dürfen das es mit einer Schleife abgefangen werden kann.

Abgefangen habe ich es folgendermassen:


```
define('MSSQL_HOST',     'Server'); //Servername einfach localhost
define('MSSQL_USER',     'user');
define('MSSQL_PASS',     '*****');
define('MSSQL_DATABASE', 'Datenbank);

    $verbindung = mssql_pconnect(MSSQL_HOST, MSSQL_USER, MSSQL_PASS) ;
     
   while ($verbindung == false ){
	$verbindung = mssql_pconnect(MSSQL_HOST, MSSQL_USER, MSSQL_PASS) ;  }
```


----------



## tobias_petry (16. August 2007)

Wenn die mssql-Extension Probleme macht probiert doch mal PDO aus 
Das läuft afaik fehlerfrei (ausgenommen der Connect auf Oracle-Databases)


----------



## CongoFX (28. Dezember 2010)

Ich sehe dass das Thema zwar schon drei Jahre alt ist, aber hatte heute Nacht selber mit diesem Problem zu kämpfen und nirgends eine Antwort erhalten.

Meine Konstellation, ein Windows 2008 Server (x86) mit MSSQL 2008 R2 Server und PHP über den Web Platform Installer installiert, es läuft als Fast CGI Modul.

Wer trotz korrekt konfigurierter php.ini nicht mit dem SQL Server verbinden kann sollte mal *folgendes ausprobieren*:

*Shell öffnen* und "*php -m*" ausführen, wenn nun ein Dialog erscheint in dem steht dass die *"MSVCR71.dll" fehlt* dann diese *hier downloaden* oder aus dem Anhang von diesem Post entnehmen und in das Verzeichnis *"C:\Windows\System32" kopieren*.

Vorsicht, ich bin mir nicht sicher ob die x86 dll unter x64 läuft und habe daher eine x64 dll im Anhang dazu gehängt. Diese unter dem x64 System in das "C:\Windows\SysWOW64" Verzeichnis kopieren.

Sichergehen dass die MSSQL Extension existiert, "*php -m*" sollte *keine Fehlermeldungen* mehr ausgeben, falls doch dann mal nachsehen ob die Module installiert sind "Start" -> "Systemsteuerung" -> "Programme und Funktionen" -> "PHP 5.x.x" -> "Ändern" (oben) -> PHP Setup Fenster "Weiter" -> "Ändern" -> "IIS Fast CGI" -> "Extensions" erweitern -> "MSSQL" auswählen -> "PDO" erweitern -> "Microsoft SQL Server" auswählen -> "weiter" -> "Ändern" und Installation abschließen.

Zudem ist mir aufgefallen das trotz Setup Installation einige Extensions wie z.B. die "php_mime_magic" gefehlt haben, daher habe ich einige Extensions gezipped hinterlegt. Auch hier aus einem x86 und x64 System, da ich mir auch hier nicht sicher bin ob es von der Installation unter verschiedenen Systemen Unterschiede gibt. Bei einem x64 System wird zwar in das "Programme (x86)" Verzeichnis installiert, sollten also x86 bins sein aber man weiß ja nie.

Ich hoffe Euch hilft dieser Post und erspare Euch etwas Zeit an Arbeit und Nerven.

Grüße aus München


----------

