2011-11-23 136 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