可以';t使用php连接到localhost SQL server 2012


Can't connect to localhost SQL server 2012 with php

嗨,我在php连接到本地数据库时遇到了一个大问题。

我正在跑步:Windows Server 2008 sp 1。SQL server 2012。我的SQL服务器名称:LRE-XP-VS2003''SQLEXPRESS。(状态正在运行)

这就是我尝试连接的方式

$server = 'localhost'; //or 127.0.0.1
$login = 'sa';
$passwd = 'my_passwd';
$database = 'ms4033';
$port = '49717';
$con = mysqli_connect ( $server , $login, $passwd, $database, $port );
if (!$con) {
  die("Connection error: " . mysqli_connect_errno());
 }

我得到的结果是在浏览器中旋转加载按钮,并在很长一段时间后"内部服务器错误-FastCGI进程超过了配置的活动超时"

对于我在HKEY_LOCAL_MACHINE中检查的端口号,也直接在数据库中检查

 USE master
 GO
 XP_READERRORLOG 0, 1, N'Server is listening'
 GO

以及SQL服务器配置管理器中。如果没有端口号,我会得到"由于目标机器主动拒绝,无法进行连接"或"连接错误:2002"

我试着打开防火墙,但无济于事。

我也在运行asp.net,但矛盾的是,连接工作正常这个:

<add key="connectionString" value="server=LRE-XP-VS2003'SQLEXPRESS;database=ms4033;packet size=4096;user id=sa;password=my_passw" />

我是不是错过了什么?

$server = 'localhost';$server = 'LRE-XP-VS2003'SQLEXPRESS';有什么区别?

非常感谢。

查看本文。您需要使用MS SQL连接,而不是MYSQL

<?php
// Server in the this format: <computer>'<instance name> or 
// <server>,<port> when using a non default port number
$server = 'KALLESPC'SQLEXPRESS';
// Connect to MSSQL
$link = mssql_connect($server, 'sa', 'phpfi');
if (!$link) {
    die('Something went wrong while connecting to MSSQL');
}
?>*