Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.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
从托管的linux PHP访问远程MSSQL服务器_Php_Sql Server_Iis 7 - Fatal编程技术网

从托管的linux PHP访问远程MSSQL服务器

从托管的linux PHP访问远程MSSQL服务器,php,sql-server,iis-7,Php,Sql Server,Iis 7,我看到过许多类似的问题,但通常通过访问服务器安装额外的软件包(如FreeTDS)来回答。我们没有这样的访问权限,因为我们的linux服务器由1和1托管 我的代码(来自前面其他人在这里提出的问题)是: 我收到的错误消息是: Failed to get DB handle: could not find driver MSSQL服务器是可访问的,因此我可以在必要时添加功能。 MSSQL服务器也运行IIS7,但不运行PHP。我对IIS7知之甚少,但是在IIS7上运行PHP脚本会比在托管的linux

我看到过许多类似的问题,但通常通过访问服务器安装额外的软件包(如FreeTDS)来回答。我们没有这样的访问权限,因为我们的linux服务器由1和1托管

我的代码(来自前面其他人在这里提出的问题)是:

我收到的错误消息是:

Failed to get DB handle: could not find driver 
MSSQL服务器是可访问的,因此我可以在必要时添加功能。 MSSQL服务器也运行IIS7,但不运行PHP。我对IIS7知之甚少,但是在IIS7上运行PHP脚本会比在托管的linux机器上运行更容易吗

有人能告诉我是否可以连接到MSSQL服务器吗

提前感谢,


Dave

您尝试过mssql\u connect吗

以下是语法: mssql_connect([string$servername[,string$username[,string$password[,bool$new_link=false]]))

在您的情况下,它将是:

$link = mssql_connect($hostname, $username, $pw);
mssql_select_db($dbname, $link);

请注意,$hostname应该包含MSSQL实例名称。e、 “KALLESPC\SQLEXPRESS”

您是否尝试过mssql\u连接

以下是语法: mssql_connect([string$servername[,string$username[,string$password[,bool$new_link=false]]))

在您的情况下,它将是:

$link = mssql_connect($hostname, $username, $pw);
mssql_select_db($dbname, $link);

请注意,$hostname应该包含MSSQL实例名称。e、 “KALLESPC\SQLEXPRESS”

经过多次尝试和错误,我陷入了困境

  try {
    $hostname = "localhost";
    $port = 123456;
    $dbname = "ClientDatabase";
    $username = "uuuu";
    $pw = "pppp";
    $dbh = new PDO ("sqlsrv:Server=$hostname,$port;Database=$dbname","$username","$pw");
  } catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
  }
  $stmt = $dbh->prepare("select name from master..sysdatabases where name = db_name()");
  $stmt->execute();
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
  unset($dbh); unset($stmt);
感谢那些回答了问题的人和那些回答了其他人类似问题的人。到了那里。。。。最终

干杯


戴夫

经过多次尝试和错误,我终于成功了

  try {
    $hostname = "localhost";
    $port = 123456;
    $dbname = "ClientDatabase";
    $username = "uuuu";
    $pw = "pppp";
    $dbh = new PDO ("sqlsrv:Server=$hostname,$port;Database=$dbname","$username","$pw");
  } catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
  }
  $stmt = $dbh->prepare("select name from master..sysdatabases where name = db_name()");
  $stmt->execute();
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
  unset($dbh); unset($stmt);
感谢那些回答了问题的人和那些回答了其他人类似问题的人。到了那里。。。。最终

干杯


Dave

我认为mssql_connect在PHP5.4中不受欢迎,因为$dbh=new PDO(“dblib:host=$hostname:$port;dbname=$dbname”、“$username”、“$pw”);不正确,应该是:$dbh=new-PDO(“sqlsrv:Server=$hostname:$port;Database=$dbname”、“$username”、“$pw”);我相信mssql_connect在PHP5.4中不受欢迎,因为$dbh=new PDO(“dblib:host=$hostname:$port;dbname=$dbname”、“$username”、“$pw”);不正确,应该是:$dbh=new-PDO(“sqlsrv:Server=$hostname:$port;Database=$dbname”、“$username”、“$pw”);仍然不起作用,但正在前进。