sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server-adress för att ansluta med php

Om din utgåva är SQL Server Express, bör du förmodligen använda:

$objConnect = mssql_connect("localhost\SQLEXPRESS","usr","pass");

Eller om det annars är en namngiven instans, då

$objConnect = mssql_connect("localhost\InstanceName","usr","pass");

Om du behöver ansluta på distans, bör du självklart inte använda localhost sedan hur hittar fjärrwebbservern din localhost ? Du bör använda något av följande (förutsatt att fjärrwebbservern kan se din maskin med IP-adressen 192.168.5.22):

$objConnect = mssql_connect("192.168.5.22\SQLEXPRESS","usr","pass");
$objConnect = mssql_connect("192.168.5.22\NamedInstance","usr","pass");
$objConnect = mssql_connect("192.168.5.22","usr","pass");

Naturligtvis måste din brandvägg ha port 1433 (och möjligen 1434) öppen för att kunna acceptera den anslutningen, och det finns en mängd andra saker som kan gå fel här också.

Dock ett litet felsökningsförslag 101. Istället för:

if($objConnect)  
{  
  echo "Database Connected.<br />";  
  echo mssql_error();
}  
else  
{  
  echo "Database Connect Failed.<br />";  
}  

Varför inte:

if($objConnect)  
{
  echo "Database Connected.<br />";  
}  
else  
{  
  echo "Database Connect Failed.<br />";  
  echo mssql_error();
}  

Du behöver verkligen inte skriva ett felmeddelande till sidan när databasen ansluter framgångsrikt. Och genom att berätta själva felmeddelandet du får kan vi bättre rusta oss att peka dig i riktning mot en lösning. Ett generiskt "Databasanslutning misslyckades"-meddelande som du skrev kommer inte att ge någon någon aning om vad som faktiskt gick fel. Men jag slår vad om mssql_error() kanske!




  1. Exempel på hur man använder bind_result vs get_result

  2. Hur man lagrar data som innehåller citat i MySQL

  3. Visar japanska tecken från SQLException.getMessage()

  4. MIN SQL - Felkod:1010. Fel när databasen släpptes (kan inte rmdir; felnr:13)