簡體   English   中英

無法弄清楚為什么我無法使用php連接到mssql服務器

[英]Unable to figure out why I can't connect to mssql server with php

這是我的電話,引發500錯誤。

$myServer = "MICKMAN\Mickman";
$myUser = "tester";
$myPass = "tester";
$myDB = "movieDB"; 

$con = mssql_connect($myServer, $myUser, $myPass);
    if ( !$con )
    {
        die( 'Could not connect: '  );
    }

我正在使用PHP 5.4,並且phpinfo顯示已啟用sqlsvr。 我將此擴展名添加到了php.ini中:

extension=php_sqlsrv_54_nts.dll

我已經在Windows中設置了ODBC,並在MSSQL Studio中創建了一個用戶。 我不確定我缺少什么。 php錯誤甚至沒有顯示。 嘗試訪問時出現空白頁。

我之前已經使用PHP連接到數據庫,但是之前從未設置過用於遠程連接的數據庫。 我已經嘗試了盡可能多的howto方法,但仍然遇到相同的問題。

您應該使用SQL Server PDO驅動程序( 此處提供更多信息)。

安裝並啟用驅動程序后,即可測試連接,如下所示:

try {
    $host = new PDO('sqlsrv:server=localhost;Database='.$database, $username, $password);
    foreach($host->query('SELECT * FROM SOME_TABLE') as $row) {
        print_r($row);
    }
    $host = null;
} catch(PDOException $e){
    die('Connect not connect: '.$e->getMessage());
}

您正在嘗試使用mssql_connect這是由提供php_mssql.dll擴展 php(> 5.3)不再包含此擴展名。 您應該使用php_sqlsrv_54_nts.dll提供的以sqlsrv為前綴的功能。

$myServer = "MICKMAN\Mickman";
$connectionInfo = array(
    "UID" => "tester"
,   "PWD" => "tester"
,   "Database" => "movieDB"
);

$con = sqlsrv_connect($myServer, $connectionInfo);
if( $con === false ) {
    echo "Unable to connect.";
    die( print_r( sqlsrv_errors(), true));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM