2011-11-23 134 views
0

我試圖用PHP連接SQL Server 2005。我在谷歌搜索,但沒有得到正確的解決方案,它顯示搜索結果mssql_connect()無法正常工作。通過看到這沒有得到任何東西。使用PHP連接sql server 2005

 require_once 'login.php'; 
    $db_server = mysql_connect($db_hostname, $db_username, $db_password); 
    mysql_select_db($db_database) or die("Unable to connect to database: ".mysql_error()); 

這會連接mysql數據庫。我試着用mssql_connect()代替mysql_connect()。但它不工作。 login.php已有

$db_hostname = 'localhost'; 
    $db_database = 'urlstore'; 
    $db_username = 'root'; 
    $db_password = 'tiger'; 

如何使用PHP連接SQL數據庫。

回答

1

您需要安裝MS SQL PHP擴展,然後才能使用您習慣的MS SQL Server。

Here是關於擴展和如何安裝它的信息。

0

如果您的服務器配置支持,您可以使用PDO。 PDO是一個抽象層,允許您使用同一個對象連接到許多不同的數據庫類型。

<?php 
try { 
    $dbh = new PDO ('mssql:host='.$mssql_server.';dbname='.$mssql_db, $mssql_login, $mssql_pwd); 
    $dbh->exec("INSERT INTO tablename(column1, column2) VALUES ('stuff', 'here')"); 
    $dbh = null; 
    } 
catch (PDOException $e) 
    { 
    echo $e->getMessage(); 
    } 
?> 

此代碼可以幫助您確定是否啓用PDO:

<?php 
    foreach(PDO::getAvailableDrivers() as $driver) 
    { 
     echo $driver.'<br />'; 
    } 
?> 

或者你可以運行這個命令:

<?php phpInfo(); ?> 

,尋找這樣的:

PDO

PDO支持 PDO驅動程序

啓用 DBLIB,MySQL和ODBC,pgsql的,sqlite的,sqlite2

如果不是MSSQL啓用,你可以取消了「延長= php_pdo_mssql.dll「一行在php.ini中。

如果仍然無法正常工作,你可能想試試這個:

ntwdblib.dll - 最常見的問題是,你沒有安裝在你的PHP目錄 ntwdblib.dll文件(其中php.exe是, 或有時將其放在ext目錄中也是如此)。這個 庫可以在您的企業管理器DLL或SQL 服務器的system32文件夾中找到。通常最好從安裝SQL Server的 服務器取得文件 - 引用自http://www.helpspot.com/helpdesk/index.php?pg=kb.page&id=13