我見過很多問類似的問題,但這些問題通常可以通過訪問服務器來安裝額外的軟件包(如FreeTDS)來解決。我們沒有像linux和1and1託管的服務器。從託管linux訪問遠程MSSQL服務器PHP
我的代碼(由別人放在這裏前面一個問題)是:
try {
$hostname = "xx.xx.xx.xx";
$port = xxxxx;
$dbname = "ClientDatabase";
$username = "uuuu";
$pw = "pppp";
$dbh = new PDO ("dblib:host=$hostname:$port;dbname=$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);
該錯誤消息我得到的是:
Failed to get DB handle: could not find driver
的MSSQL服務器是可訪問的,所以我可以添加功能如果有必要的話。 MSSQL服務器也在運行IIS7,但不運行PHP。我對IIS7知之甚少,但是在那裏運行PHP腳本而不是託管linux框更容易?
任何人都可以建議,如果我實際上可以連接到MSSQL服務器?
由於提前,
戴夫
我相信mssql_connect是在PHP棄用5.4 感謝 似乎$胸徑=新PDO(「DBLIB:主機= $主機名:$端口; DBNAME = $ DBNAME 」, 「$用戶名」, 「私服$」);不正確,應該是: $ dbh = new PDO(「sqlsrv:Server = $ hostname:$ port; Database = $ dbname」,「$ username」,「$ pw」); 仍然沒有工作,但前進。 – demsley