奇怪了~为什么我用com可以连接数据库~用mssql_connect就总是失败呢?
$conn = @new COM("ADODB.Connection");
$connstr = "Provider=sqloledb;Data Source=localhost;Initial Catalog=a04;user id=sa;password=helloyouyuan;";
$conn->Open($connstr);
连接成功$conn=mssql_connect("localhost","sa","helloyouyuan") or die("连接失败")
显示"连接失败"

解决方案 »

  1.   

    在php.ini里有没有配置好?去掉;extension=php_mssql.dll 前的;号,重启服务器
      

  2.   

    extension=php_mssql.dll老早就去掉了~
    貌似不去掉根本就是没反应~我的还能有返回错误
      

  3.   

    似乎5.X后就不支持那个函数了~
    建议你用ADODB去联,这样还有一个好处,跨平台。
      

  4.   

    也就是$conn = @new COM("ADODB.Connection");这样链?不支持那个函数搞个dll出来做什么- -!
      

  5.   

    是不是这个 php_mssql.dll 没有考到系统盘下,WINDOWS/SYSTEM 32 
      

  6.   

    我设了这个extension_dir = "d:/php/ext"
    貌似就不需要放到系统盘了吧?
      

  7.   

    1 看phpinfo 里是否有 mssql 支持.2 确认连接数据库类型与 ntwdblib.dll 文件版本一致3 确认数据库服务器是否支持远程连接.以及连接串是否正常.最后,建议使用 PDO 进行MSSQL的数据库连接.http://cn2.php.net/manual/en/ref.pdo-dblib.php#86668
      

  8.   

    1.phpinfo mssql出了一框字 已经支持
    2.ntwdblib.dll 版本2000.80.194.0
    3.com都能连接上,那肯定支持远程链接啦~
    4.PDO不会用~直接复代码进去用~去掉全部PDO前的;都没反应
      

  9.   

    本机是否装上mssql的客户端呢?
      

  10.   

    $conn=mssql_connect("localhost","sa","helloyouyuan") or die(mssql_error());看看错误提示倒底是什么.COM能连上,不一定远程就可以连的.
    因为 MSSQL 有两种身份认证方式.
    可能你的COM连接方式用了Windows身份认证.还是先把 mssql_error() 信息打出来看看再说.
      

  11.   

    $conn=mssql_connect("localhost","sa","helloyouyuan") or die(mssql_get_last_message());请确认程序中的代码无误
      

  12.   

    mssql_error()没见有这函数~
    mssql_get_last_message()没返回值~