webentwicklung-frage-antwort-db.com.de

Wie benutzt man PHP um sich mit SQL Server zu verbinden

Ich möchte mit PHP eine Verbindung zur SQL Server-Datenbank herstellen.

Ich habe xampp 1.7.0 (php 5.2) und SQLSRV20 installiert. Ich habe die Erweiterungen in php.ini hinzugefügt und diese Fehlermeldung wird angezeigt:

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

Code:

<?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"); 
?>

Was bedeutet diese Fehlermeldung und wie stelle ich eine Verbindung zu SQL Server her?

8
maha

aktivieren Sie mssql in php.ini

;extension=php_mssql.dll

zu

extension=php_mssql.dll

10
<?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

5
Harikris

Versuchen Sie diesen Code

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

wenn Sie sqlsrv_connect verwenden, müssen Sie den MS-SQL-Treiber für Ihren PHP herunterladen und installieren. Laden Sie es hier herunter http://www.Microsoft.com/de-de/download/details.aspx?id=20098 entpacken Sie es in Ihren PHP-Ordner oder in den Ext-Ordner im Xampp-Ordner Fügen Sie diesen hinzu am Ende der Zeile in Ihrer php.ini-Datei

extension=php_pdo_sqlsrv_55_ts.dll
extension=php_sqlsrv_55_ts.dll

ich verwende xampp Version 5.5, also den Namen php_pdo_sqlsrv_55_ts.dll & php_sqlsrv_55_ts.dll

wenn Sie xampp Version 5.5 verwenden, ist die DLL-Datei nicht im Link enthalten ... hoffe, es hilft

1
user3389579
 $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();

}
1
hassan javaid

zur weiteren Untersuchung: Drucken Sie die Mssql-Fehlermeldung aus:

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

Es ist auch wichtig, den Port anzugeben: Trennen Sie ihn unter MS SQL Server 2000 durch ein Komma:

$myServer = "10.85.80.229:1443";

oder 

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

Ich hoffe es hilft.

0
nimesh

Ich habe das gleiche Problem gehabt (hoffe ich dasselbe). Es stellte sich jedoch heraus, dass es sich um meine Version von ntwdblib.dll handelte, die in meinem Ordner PHP nicht mehr aktuell war.

http://dba.fyicenter.com/faq/sql_server_2/Finding_ntwdblib_dll_Version_2000_80_194_0.html

0
Dean Anderson

Verwenden Sie localhost anstelle Ihrer IP-Adresse.

z.B,

$myServer = "localhost";

Überprüfen Sie auch Ihren MySQL-Benutzernamen und Ihr Kennwort.

0
Manish Chauhan

Für den folgenden Code müssen Sie mssql in der php.ini wie unter diesem Link beschrieben aktivieren: http://www.php.net/manual/de/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());
} 
0
chirag ode