sql >> Databáze >  >> RDS >> Sqlserver

Adresa serveru SQL pro připojení pomocí php

Pokud je vaše edice SQL Server Express, pravděpodobně byste měli používat:

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

Nebo pokud se jinak jedná o pojmenovanou instanci, pak

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

Pokud se potřebujete připojit vzdáleně, pak byste samozřejmě neměli používat localhost protože jak vzdálený webový server najde vaše localhost ? Měli byste používat jednu z následujících možností (za předpokladu, že vzdálený webový server vidí váš počítač s IP adresou 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");

Váš firewall musí mít samozřejmě otevřený port 1433 (a možná 1434), aby mohl přijmout toto připojení, a existuje řada dalších věcí, které se zde mohou také pokazit.

Nicméně malý návrh na ladění 101. Místo:

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

Proč ne:

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

Při úspěšném připojení databáze jistě nemusíte na stránku zapisovat chybu. A když nám sdělíte skutečnou chybovou zprávu, kterou obdržíte, můžeme vás lépe nasměrovat směrem k řešení. Obecná zpráva „Připojení k databázi selhalo“, kterou jste napsali, nikomu neposkytne žádné vodítko o tom, co se skutečně pokazilo. Ale vsadím se, že mssql_error() možná!




  1. Jak vytvořím INTERSECT pomocí Eloquent Builderu, aniž bych měl sbírku

  2. php include chyba nenalezení cesty

  3. Extrakce podřetězců MySQL pomocí oddělovače

  4. Convert UNION selects to single select with loop v MySQL