2013-09-05 29 views
6

Chcę użyć PHP do połączenia z bazą danych serwera SQL.Jak używać PHP do łączenia się z serwerem sql

Zainstalowałem program xampp 1.7.0 (php 5.2) i SQLSRV20. Dodałem rozszerzenia w php.ini i otrzymuję ten błąd:

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to 
server: 10.85.80.229 in C:\xampp\htdocs\xampp\test.php on line 07 

Kod:

<?php 
$myServer = "10.85.80.229"; 
$myUser = "root"; 
$myPass = "pass"; 
$myDB = "testdb"; 

$dbhandle = mssql_connect($myServer, $myUser, $myPass) 
    or die("Couldn't connect to SQL Server on $myServer"); 
?> 

Co oznacza ten błąd oznacza i jak mogę połączyć się z SQL Server?

+3

try $ mój_serwer = "localhost"; – cartina

+0

Czy jesteś pewien, że serwer mysql działa? –

+0

Chcę połączyć się z mssql tj. Serwer sql. Mam xampp (mysql, apache) z uruchomioną wersją – maha

Odpowiedz

0

Użyj adresu localhost zamiast adresu IP.

przykład,

$myServer = "localhost"; 

A także podwójnie sprawdzić swoją nazwę użytkownika i hasło mysql.

+0

próbowałem także z localhostem, także przez dodanie portu. ale bez owocu – maha

0

do dalszych badań: wydrukować komunikat o błędzie mssql:

$dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Could not connect to database: ".mssql_get_last_message()); 

Ważne jest również, aby określić port: na MS SQL Server 2000, rozdzielając je przecinkami:

$myServer = "10.85.80.229:1443"; 

lub

$myServer = "10.85.80.229,1443"; 
+0

hmm..i próbowałem obu. i używam serwera sql 2008 – maha

0

Dla następującego kodu należy włączyć mssql w pliku php.ini zgodnie z opisem w s Link: http://www.php.net/manual/en/mssql.installation.php

$myServer = "10.85.80.229"; 
$myUser = "root"; 
$myPass = "pass"; 
$myDB = "testdb"; 

$conn = mssql_connect($myServer,$myUser,$myPass); 
if (!$conn) 
{ 
    die('Not connected : ' . mssql_get_last_message()); 
} 
$db_selected = mssql_select_db($myDB, $conn); 
if (!$db_selected) 
{ 
    die ('Can\'t use db : ' . mssql_get_last_message()); 
} 
1

Spróbuj kod

$serverName = "serverName\sqlexpress"; //serverName\instanceName 
$connectionInfo = array("Database"=>"dbName", "UID"=>"userName", "PWD"=>"password"); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 
+0

Wywołanie niezdefiniowanej funkcji sqlsrv_connect() w C: \ xampp \ htdocs \ xampp \ test.php na linii 4 – maha

1

jeśli używasz sqlsrv_connect trzeba pobrać i zainstalować sterownik MS SQL dla php. pobrać go tutaj http://www.microsoft.com/en-us/download/details.aspx?id=20098 rozpakuj go do folderu php lub ext w katalogu xampp następnie dodać to na końcu linii w pliku php.ini

extension=php_pdo_sqlsrv_55_ts.dll 
extension=php_sqlsrv_55_ts.dll 

im przy XAMPP w wersji 5.5 więc jego nazwa php_pdo_sqlsrv_55_ts.dll & php_sqlsrv_55_ts.dll

jeśli używasz wersji XAMPP 5,5 dll nie jest zawarty w linku ... nadzieję, że pomoże

6

włączyć MSSQL w PHP.ini

;extension=php_mssql.dll

do

extension=php_mssql.dll

3
<?php 
$serverName = "ServerName"; 
$uid = "sqlusername"; 
$pwd = "sqlpassword"; 
$databaseName = "DBName"; 

$connectionInfo = array("UID"=>$uid,        
         "PWD"=>$pwd,        
         "Database"=>$databaseName); 

/* Connect using SQL Server Authentication. */ 
$conn = sqlsrv_connect($serverName, $connectionInfo); 

$tsql = "SELECT id, FirstName, LastName, Email FROM tblContact"; 

/* Execute the query. */ 

$stmt = sqlsrv_query($conn, $tsql); 

if ($stmt) 
{ 
    echo "Statement executed.<br>\n"; 
} 
else 
{ 
    echo "Error in statement execution.\n"; 
    die(print_r(sqlsrv_errors(), true)); 
} 

/* Iterate through the result set printing a row of data upon each iteration.*/ 

while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC)) 
{ 
    echo "Col1: ".$row[0]."\n"; 
    echo "Col2: ".$row[1]."\n"; 
    echo "Col3: ".$row[2]."<br>\n"; 
    echo "-----------------<br>\n"; 
} 

/* Free statement and connection resources. */ 
sqlsrv_free_stmt($stmt); 
sqlsrv_close($conn); 
?> 

http://robsphp.blogspot.ae/2012/09/how-to-install-microsofts-sql-server.html

0
$dbhandle = sqlsrv_connect($myServer, $myUser, $myPass) 
    or die("Couldn't connect to SQL Server on $myServer"); 

Nadzieję, że pomoże.

-2

Spróbuj tego:

$servername = "10.85.80.229"; 
$username = "root"; 
$password = "pass"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password); 

// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 
echo "Connected successfully"; 
+0

pytanie jest do połączenia z sqlserver nie nysql .. –

0
$server_name = "your server name"; 
$database_name = "your database name"; 
try 
    { 
    $conn = new PDO("sqlsrv:Server=$server_name;Database=$database_name;ConnectionPooling=0", "user_name", "password"); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

} 
catch(PDOException $e) 
{ 

    $e->getMessage(); 

} 
Powiązane problemy