Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t从PHP连接到SQL Server_Php_Sql Server_Xampp - Fatal编程技术网

Can';t从PHP连接到SQL Server

Can';t从PHP连接到SQL Server,php,sql-server,xampp,Php,Sql Server,Xampp,我使用XAMPP。我需要建立从PHP代码到MS SQL Server的连接。因此,我从安装了sqlsrv驱动程序。根据phpinfo()正确加载: 我收到以下错误消息: 无法建立连接。数组([0]=>数组([0]=> IMSSP[SQLSTATE]=>IMSSP=>-49[code]=>-49=>This 扩展需要用于SQL Server.Access的Microsoft ODBC驱动程序11 以下URL用于下载SQL Server的ODBC驱动程序11 x86:[消息]=>此 扩展需要用于S

我使用XAMPP。我需要建立从PHP代码到MS SQL Server的连接。因此,我从安装了
sqlsrv
驱动程序。根据
phpinfo()
正确加载:

我收到以下错误消息:

无法建立连接。数组([0]=>数组([0]=> IMSSP[SQLSTATE]=>IMSSP=>-49[code]=>-49=>This 扩展需要用于SQL Server.Access的Microsoft ODBC驱动程序11 以下URL用于下载SQL Server的ODBC驱动程序11 x86:[消息]=>此 扩展需要用于SQL Server.Access的Microsoft ODBC驱动程序11 以下URL用于下载SQL Server的ODBC驱动程序11 x86:)=>阵列( [0]=>IM002[SQLSTATE]=>IM002=>0[code]=>0=> [Microsoft][ODBC驱动程序管理器]未找到数据源名称,并且没有 指定的默认驱动程序[消息]=>[Microsoft][ODBC驱动程序管理器] 未找到数据源名称且未指定默认驱动程序)

链接指向x86客户机,但我只能安装64位版本,我是从这个版本安装的

但我还是犯了同样的错误

规格:

操作系统:Windows Server 2012 64位

PHP:5.6.19

代码很简单:

$serverName = "servername";
$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));
}
$serverName=“serverName”;
$connectionInfo=array(“数据库”=>“数据库名”、“UID”=>“用户名”、“密码”);
$conn=sqlsrv_connect($serverName,$connectionInfo);
如果($conn){
回显“已建立连接。
”; }否则{ echo“无法建立连接。
”; 模具(打印错误(sqlsrv_errors(),true)); }
现在怎么办?我应该在任何
PHP/Apache
conf文件中注册安装的SQL本机客户端吗?

根据,Microsoft的SQL Server 2012功能包不包含SQL Server的ODBC驱动程序11;这是
sqlsrv
extensions 3.1及以上版本所必需的


    • 我也有同样的问题

      使用phpinfo()检查您使用的php版本,然后下载与您的php版本相关的扩展。然后也转到php.ini文件,像这样添加这些文件

      extension=<extension>.dll
      
      extension=.dll
      
      然后一个重要的步骤,我总是错过,并强调我是你需要下载的驱动程序找到下面的链接。。。否则您的php脚本将无法连接到SQL Server。。。。下载并安装在实际安装了SQL Server的计算机上。。。如果是远程服务器,则必须将其安装在远程服务器上。。。如果它在您的本地计算机上,则必须将其安装在您的本地计算机上


      那么你应该很乐意去…

      什么版本的
      sqlsrv
      驱动程序?@ImClarky与PHP 5.6->
      PHP\u sqlsrv\u 56_ts.dll兼容的驱动程序
      看来SQL Server 2012功能包没有附带ODBC驱动程序11-这就是它所说的连接错误中缺少的驱动程序。可以从这里下载:@ImClarky似乎你是对的。将此评论复制到答案中,以便我可以接受。谢谢