2017-08-28 6 views
0

Ich versuche eine Verbindung zu MSSQL mit sqlsrv_connect(), aber es funktioniert nicht. Ich erhalte einen seltsamen Fehler:sqlsrv_connect kann keine Verbindung zu localhost herstellen

/var/www/html/dir/mssql_conn.php: line 1: ?php: No such file or directory 
/var/www/html/dir/mssql_conn.php: line 5: syntax error near unexpected token `(' 
/var/www/html/dir/mssql_conn.php: line 5: `$conn_array = array (' 

Mein Code ist:

$conn_array = array (
    "UID" => "", 
    "PWD" => "", 
    "Database" => "dbName", 
); 


    $conn = sqlsrv_connect('(local)', $conn_array); 


    if ($conn) { 
     echo "connected"; 

     if(($result = sqlsrv_query($conn,"SELECT TOP 100 * FROM dbo.tblp")) !== false){ 

      while($obj = sqlsrv_fetch_object($result)) { 
        echo $obj->colName.'<br />'; 
      } 
     } 


    } else { 
     die(print_r(sqlsrv_errors(), true)); 
    } 

Ich habe versucht localhost\sqlexpress, 8357, serv.domain.tld\sqlexpress, 8357 zu und nichts funktioniert.

Bilden Sie die Außenseite dort ist ein Hafen. Aber ich denke nicht, dass das von innen zutreffen würde, oder?

Irgendwelche Hilfe, wie ich tatsächlich verbinden kann?

+0

die Verbindung durch den unten stehenden Code überprüfen Überprüfen Sie diesen Link https://stackoverflow.com/questions/27308120/connect-to-mssql-database-via-sqlsrv-connect-php –

+0

@Rav InderReddy Kay. Ich habe die ausgewählte Antwort gesehen. Nichts anderes als das, was ich habe. Vielleicht ist es das blöde Servername Ding ... was genau dort hin geht? Es ist auf dem gleichen Server so '(local)'? – Borsn

+0

Eine dumme Frage, aber hast du das ' alalp

Antwort

0

Ich denke, es ist, weil Sie ein Komma nach "dbName" hinzugefügt, Vielleicht soll es

$conn_array = array (
    "UID" => "", 
    "PWD" => "", 
    "Database" => "dbName" 
); 
+1

Komma nach "dbName" gibt keinen Fehler. –

+0

@RavinderReddy Wie ich weiß, sollte am Ende des Arrays kein Komma stehen! –

+0

@ A.Krasniqi Ich entfernte das Komma, und es macht keinen Unterschied. – Borsn

0

Sie sein können

$serverName = "(local)\sqlexpress"; 
$conn_array = array("UID" => "", 
"PWD" => "", 
"Database" => "dbName" 
); // Provide the valid details 

/* Connect using Windows Authentication. */ 
$conn = sqlsrv_connect($serverName, $conn_array); 
if($conn === false) 
die(FormatErrors(sqlsrv_errors())); 

function FormatErrors($errors) 
{ 
    /* Display errors. */ 
    echo "Error information: <br/>"; 

    foreach ($errors as $error) 
    { 
     echo "SQLSTATE: ".$error['SQLSTATE']."<br/>"; 
     echo "Code: ".$error['code']."<br/>"; 
     echo "Message: ".$error['message']."<br/>"; 
    } 
} 

Weitere Informationen https://docs.microsoft.com/en-us/sql/connect/php/example-application-sqlsrv-driver

+0

Fehler erneut: '/var/www/html/dir/mssql_conn.php: Zeile 1:? Php: Keine solche Datei oder Verzeichnis /var/www/html/dir/mssql_conn.php: Zeile 12: =: Befehl nicht gefunden /var/www/html/dir/mssql_conn.php: Zeile 13: Syntaxfehler in der Nähe eines unerwarteten Tokens '(' /var/www/html/dir/mssql_conn.php: Zeile 13:' $ connectionOptions = array (" UID "=>" user "," PWD "=>" pass "," Database "=>" database "); // Gib die gültigen Details an" – Borsn

+0

Es scheint, dass das Problem nicht mit der Verbindung zusammenhängt. Es ist etwas anderes. Drucken Array durch Hinzufügen von print_r ($ conn_array); exit; nach array Deklaration. –

+0

Es wird nicht ausgedruckt. Auch wenn sie auskommentiert sind, verursachen sie immer noch ein Problem ... – Borsn

Verwandte Themen