2017-08-28 272 views
0

我想連接到MSSQL使用sqlsrv_connect()但它無法正常工作。我得到一個奇怪的錯誤:sqlsrv_connect無法連接到本地主機

/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 (' 

我的代碼是:

$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)); 
    } 

我試過localhost\sqlexpress, 8357serv.domain.tld\sqlexpress, 8357也並沒有什麼工作。

形成外面有一個端口。但我不認爲這會適用於內部的呢?

任何幫助我如何實際連接?

+0

檢查此鏈接https://stackoverflow.com/questions/27308120/connect-to-mssql-database-via-sqlsrv-connect-php –

+0

@Rav inderReddy Kay。我看到了選定的答案。沒有什麼比我有什麼不同。也許它是愚蠢的服務器名稱的東西......到底是什麼?它在同一臺服務器上如此「(本地)」? – Borsn

+0

一個愚蠢的問題,但你是否在開始時加入了<?php'打開標籤,或者它是否正確添加? 「dbName」後的逗號「 – alalp

回答

0

我想這是因爲你添加"dbName"後一個逗號, 也許這應該是

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

」不會給出任何錯誤。 –

+0

@RavinderReddy我如何知道,在數組的末尾不應該有任何逗號! –

+0

@ A.Krasniqi我刪除了逗號,並沒有什麼區別。 – Borsn

0

您可以檢查下面的代碼

$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/>"; 
    } 
} 

連接更多信息https://docs.microsoft.com/en-us/sql/connect/php/example-application-sqlsrv-driver

+0

再次出錯:'/var/www/html/dir/mssql_conn.php:第一行:?php:沒有這樣的文件或目錄 /var/www/html/dir/mssql_conn.php:第12行:=:命令不行('' /var/www/html/dir/mssql_conn.php:第13行:'$ connectionOptions = array(「 UID「=>」user「,」PWD「=>」pass「,」Database「=>」database「); //提供有效的詳細信息'' – Borsn

+0

看起來問題不在於連接。數組中加入print_r($ conn_array); exit;數組聲明後 –

+0

它不會將它們打印出來,即使它們被註釋掉仍然會導致問題... – Borsn

相關問題