代码没有错.首先看你得php是否支持mssql,如果支持就看mssql得帐号密码是否正确.特别是$host_name,有时候是计算机名称.

解决方案 »

  1.   

    1. 检查是否加载了php_mssql.dll这个扩展
    2. 如果使用ODBC的话,看看你的数据源建立了没有
    3. 使用mssql_xxx类的函数,不要使用localhost,建议使用127.0.0.1来连接,因为如果不是ODBC链接的话,就是使用TCP/IP的方式,必须写上IP
      

  2.   

    偶使用PEAR::DB类连接的代码:<?
    /* 数据库服务器定义 */
    define("DB_HOST_TYPE", "mssql"); //数据库服务器类型
    define("DB_HOST_IP", "127.0.0.1"); //服务器IP
    define("DB_HOST_USER", "sa"); //数据库服务器连接用户
    define("DB_HOST_PASS", ""); //数据库连接密码
    define("DB_HOST_DBNAME", "test"); //默认数据库
    define("DB_IS_AUTOFREE", true); //是否自动释放数据库结果集
    define("DB_IS_PERSISTENT", false); //是否使用长连接//设置DSN
    if (trim(DB_HOST_PASS) != "") 
    $dsn = DB_HOST_TYPE ."://". DB_HOST_USER .":". DB_HOST_PASS ."@". DB_HOST_IP ."/". DB_HOST_DBNAME;
    else
    $dsn = DB_HOST_TYPE ."://". DB_HOST_USER ."@". DB_HOST_IP ."/". DB_HOST_DBNAME;
    //连接数据库并捕获异常
    $db = DB::connect($dsn, $db_options);
    if( DB::isError($db) )
    {
        die("Cann't connect database. \n<br>Error cause:" .DB::errorMessage($db));
    }
    //设置获取数据集的方式
    $db->setFetchMode(DB_FETCHMODE_ASSOC);//print_r($db);
    ?>