【发布时间】:2019-09-16 13:52:47
【问题描述】:
我正在使用 WAMP 在本地运行我的代码。
现在我想使用 PHP 连接到 Microsoft SQL Server 数据库。
// connection with callstats DB
$serverName = "IP, 1433"; //serverName\instanceName, portNumber (default is 1433)
$connectionInfo = array( "Database"=>"CDR", "UID"=>"username", "PWD"=>"password");
我正在使用:
$conn_CDR = sqlsrv_connect( $serverName, $connectionInfo);
$params = array();
然后进行查询:
$result = sqlsrv_query($conn_CDR, "", $params);
然后我得到这个错误:
警告:sqlsrv_query() 期望参数 1 是资源,给定的布尔值
现在我知道我需要将 sqlsrv 安装到我的本地主机中。
我正在使用PHP 7.2.14,所以我将php_sqlsrv_72_ts.dll 安装到我的C:\localhost\bin\php\php7.2.14。
我也将此行添加到我的php.ini。
extension=php_sqlsrv_72_ts.dll
然后我重新启动了我的 WAMPserver,并再次运行了我的代码,但仍然得到相同的结果。
我也尝试将文件添加到C:\localhost\bin\apache\apache2.4.37\bin但也没有成功。
有谁知道为什么这个错误不断发生以及如何解决它?
【问题讨论】:
-
你能展示你如何创建 $serverName 和 $connectionInfo - 你可以匿名数据
-
添加了我的 $connectioninfo
-
@Jbadminton 请在
sqlsrv_connect()之后执行if ($conn_CDR === false) {echo "Error (sqlsrv_connect): ".print_r(sqlsrv_errors(), true);};并发布错误。可能sqlsrv_connect()失败了。谢谢。 -
错误 (sqlsrv_connect): Array ([0] => Array ([0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2 ] => 此扩展需要 Microsoft ODBC Driver for SQL Server。访问以下 URL 以下载适用于 x64 的 SQL Server ODBC 驱动程序:go.microsoft.com/fwlink/?LinkId=163712 [message] => 此扩展需要 Microsoft ODBC Driver for SQL Server。访问以下 URL 下载适用于 x64 的 SQL Server 的 ODBC 驱动程序:go.microsoft.com/fwlink/?LinkId=163712)
-
@Jbadminton 您需要下载并安装 ODBC 驱动程序。 SQL Server 的 PHP 驱动程序 (php_sqlsrv_72_ts.dll) 需要此驱动程序才能正确运行。谢谢。