4 Stimmen

Keine Verbindung zur msSQL-Datenbank über PHP möglich

Ich verwende den aktuellen Code in Versuch, auf eine msSQL 2005 db zuzugreifen:

<?php
$myServer = "[server]";
$myUser = "[username]";
$myPass = "[password]";
$myDB = "[db]";

//connection to the database
$dbhandle = mssql_connect($myServer, $myUser, $myPass)
  or die("Couldn't connect to SQL Server on $myServer");

//select a database to work with
$selected = mssql_select_db($myDB, $dbhandle)
  or die("Couldn't open database $myDB");

//declare the SQL statement that will query the database
$query = "SELECT id, name, year ";
$query .= "FROM cars ";
$query .= "WHERE name='BMW'";

//execute the SQL query and return records
$result = mssql_query($query);

$numRows = mssql_num_rows($result);
echo "<h1>" . $numRows . " Row" . ($numRows == 1 ? "" : "s") . " Returned </h1>";

//display the results
while($row = mssql_fetch_array($result))
{
  echo "<li>" . $row["id"] . $row["name"] . $row["year"] . "</li>";
}
//close the connection
mssql_close($dbhandle);
?>

Sie gibt folgendes zurück:

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: XXXXXXX in D:\xxxxx.xxx\xxxx.php on line 16
Couldn't connect to SQL Server on XXXXXXX

Worin besteht Ihrer Meinung nach das Problem?

0voto

user2178225 Punkte 1

Versuchen Sie zunächst, etwas zu tun wie phpinfo() in Ihrem Browser, dann sehen Sie, welche Datenbanken erlaubt sind.

Wenn Sie nichts sehen wie mssql dann ist sie nicht konfiguriert. Verwenden Sie also die odbc_connect() die konfiguriert wird ... Ihre Verbindungszeichenfolge wird wie folgt aussehen:

$server = '';
$user = '';
$password = '';
$database = '';
$connection = odbc_connect("Driver={SQL Server Native Client `11.0};Server=$server;Database=$database;", $user, $password);`

Wenn Sie mssql 2005 oder 2008 verwenden, dann ändern Sie d 11.0 auf 10.0 und für andere Versionen ändern Sie einfach auf die Version Ihrer mssql.

0voto

r.paul Ǿ Punkte 111

Laden Sie den Treiber auf dieser Website herunter http://www.microsoft.com/en-us/download/details.aspx?id=20098 öffnen Sie dann Ihre php.ini-Datei und fügen Sie die heruntergeladene DLL hinzu.

0voto

Developer Punkte 3577

Späte Antwort, aber vielleicht hilft sie jemandem. Wir haben es fast geschafft, es ist das Problem mit Ihren Verbindungsparametern, wahrscheinlich müssen Sie den Servernamen als IP:port

Servername:: Der MS SQL-Server, z.B. hostname:port (Linux), or hostname,port (Windows).

Der Servername sollte "server" lauten \instance " Eine Instanz ist nichts weiter als eine bestimmte Portadresse, die sich von 1433 unterscheidet... also entdecken Sie einfach den Port auf dem mssql-Server und versuchen Sie dann, sich damit zu verbinden: ip:port

Beispielcode, der bei mir völlig problemlos funktioniert::

    ini_set('display_errors', '1');
    // $myServer = "winsrv22.somedns.co.uk:22320";//this style works as well
    $servername = "123.21.47.23:22320";
    $myUser = "UserName";
    $myPass = 'xxxxxxxx';
    $myDB = "[database]"; 

    //connection to the database
    $dbhandle = mssql_connect($servername, $myUser, $myPass)
        or die("Couldn'tt connect to SQL Server on $myServer"); 
    if($dbhandle) {
     echo "Success, Connected\r\n";
    } else {
        echo "problem :( \r\n";
    }

Hoffentlich hilft das jemandem :) Frohes Codieren!!

-1voto

sakthi bigwig Punkte 1

Wenn Sie Windows 10 verwenden.

Schritt 1. Klicken Sie auf die Schaltfläche Start

Schritt 2. Tippen Sie Service und geben Sie ein (öffnen Sie App Services)

Schritt 3. suchen - SQL Server (MSSQLSERVER)

Schritt 4. Rechtsklick ->Eigenschaften wählen

Schritt 5. Popup anzeigen. Sie wählen die zweite Registerkarte (Anmelden)

Schritt 6. Lokales Systemkonto auswählen

Schritt 7. und markieren Sie Dienst zur Interaktion mit dem Desktop zulassen

Schritt 8. Klicken Sie abschließend auf ok.

1 Mal auffrischen jetzt verbunden. Ich hoffe, es ist sehr nützlich

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X