0

这是我的调用,它引发了 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,但仍然遇到同样的问题。

4

2 回答 2

0

您正在尝试使用由 php_mssql.dll 扩展提供mssql_connect。此扩展不再包含在 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));
}
于 2014-02-17T22:11:10.237 回答
0

您应该使用 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());
}
于 2013-10-21T17:04:20.077 回答