繁体   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