【发布时间】:2021-04-07 08:40:41
【问题描述】:
我想用 PHP 建立 SQL Server 连接。 我使用以下代码
<?php
$serverName = "serverName\\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
他们把这个还给我
无法建立连接。
Array ( [0] => Array ( [0] => IM006 [SQLSTATE] => IM006 [1] => 0 [code] => 0 [2] => [Microsoft][Gestionnaire de Pilotes ODBC] 检查 SQLSetConnectAttr du Pilote [消息] => [Microsoft][Gestionnaire de Pilotes ODBC] 检查 SQLSetConnectAttr du Pilote)[1] => 数组([0] => 01000 [SQLSTATE] => 01000 [1] => 5701 [代码] => 5701 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Changed database context to 'DB_NAME'. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server ]将数据库上下文更改为“DB_NAME”。)[2] => 数组([0] => 01000 [SQLSTATE] => 01000 [1] => 5703 [code] => 5703 [2] => [Microsoft][ ODBC Driver 11 for SQL Server][SQL Server]将语言设置更改为 us_english。[消息] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]将语言设置更改为 us_english。))
所有驱动程序都已安装好。 SQL Server 扩展在php.ini 中很好。
使用odbc_connect 连接有效,但随后我无法使用它,因为我的项目在 codeIgniter 4 上并且不支持 odbc。
当我输入错误的密码时,会显示一条错误消息,所以我不明白为什么它让我无法建立。
感谢您的帮助。
【问题讨论】:
-
安装了哪些驱动?什么版本的 pdo_sqlsrv?什么版本的sqlsrv?此外,ODBC 驱动程序 11 相当旧,适用于 Windows Server 2012 及更早版本上的 SQL Server 2014 及更早版本。
-
我正在使用 SQL Server 2014,这是我的 pdo_sqlsrv 版本:5.9.0+14116
-
@Zhorov sqlsrv 已启用
标签: php sql-server odbc