【问题标题】:sqlsrv_connect cannot connect to localhostsqlsrv_connect 无法连接到本地主机
【发布时间】:2017-08-28 19:58:46
【问题描述】:

我正在尝试使用sqlsrv_connect() 连接到MSSQL,但它无法正常工作。我收到一个奇怪的错误:

/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,但没有任何效果。

窗体外面有一个端口。但我认为这不会从内部适用吗?

任何帮助我如何实际连接?

【问题讨论】:

  • @RavinderReddy 凯。我看到了选定的答案。和我所拥有的没什么不同。也许它是愚蠢的服务器名称......那里到底发生了什么?它在同一台服务器上,所以(local)?
  • 一个愚蠢的问题,但您是在开头添加了&lt;?php 开始标签,还是正确添加了?

标签: php sql-server sql-server-2008 sqlsrv


【解决方案1】:

您可以通过以下代码检查连接

$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

【讨论】:

  • 再次出错:/var/www/html/dir/mssql_conn.php: line 1: ?php: No such file or directory /var/www/html/dir/mssql_conn.php: line 12: =: command not found /var/www/html/dir/mssql_conn.php: line 13: syntax error near unexpected token (' /var/www/html/dir/mssql_conn.php: 第 13 行:$connectionOptions = array("UID" =&gt; “user”, "PWD" =&gt; “pass”,”Database" =&gt; “database” ); // Provide the valid details '
  • 看来问题不在于连接。它是别的东西。通过添加 print_r($conn_array); 打印数组出口;在数组声明之后。
  • 它没有打印出来。即使它们被注释掉,它们仍然会导致问题......
猜你喜欢
  • 2014-11-06
  • 2016-01-01
  • 2021-06-20
  • 2015-07-26
  • 2015-11-04
  • 2016-04-25
  • 2015-12-25
  • 1970-01-01
相关资源
最近更新 更多