测试代码如下:
<?php
if(mssql_connect('127.0.0.1,3651','sa','sa')){
echo "成功";
}
else {
echo "失败";
}
?>错误信息:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[01002] Unable to connect: SQL Server is unavailable or does not exist. Specified SQL server not found. (severity 9)' in D:\htdocs\test.php:6 Stack trace: #0 D:\htdocs\test.php(6): PDO->__construct('mssql:host=127....', 'sa', 'sa') #1 {main} thrown in D:\htdocs\test.php on line 6说明:
1.已经配置过php.ini文件了
去掉了php_mssql.dll前面的“;”添加相关pdo的dll文件到php.ini中
2.ntwdblib.dll文件已经拷贝到system32下
3.phpinfo()输出中已经有mssql,pdo中也有mssql
4.telnet 127.0.0.1 3651已经通了,3651是自己设置的端口此问题已经烦恼我好久了,重新装了mssql也没用,系统也是新装的windows 2003,请问那位知道这个问题怎么解决?一旦解决,立刻结帖给分
<?php
if(mssql_connect('127.0.0.1,3651','sa','sa')){
echo "成功";
}
else {
echo "失败";
}
?>错误信息:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[01002] Unable to connect: SQL Server is unavailable or does not exist. Specified SQL server not found. (severity 9)' in D:\htdocs\test.php:6 Stack trace: #0 D:\htdocs\test.php(6): PDO->__construct('mssql:host=127....', 'sa', 'sa') #1 {main} thrown in D:\htdocs\test.php on line 6说明:
1.已经配置过php.ini文件了
去掉了php_mssql.dll前面的“;”添加相关pdo的dll文件到php.ini中
2.ntwdblib.dll文件已经拷贝到system32下
3.phpinfo()输出中已经有mssql,pdo中也有mssql
4.telnet 127.0.0.1 3651已经通了,3651是自己设置的端口此问题已经烦恼我好久了,重新装了mssql也没用,系统也是新装的windows 2003,请问那位知道这个问题怎么解决?一旦解决,立刻结帖给分
http://support.microsoft.com/kb/914277/zh-cn
ntwdblib.dll 应该是这个dll没有连接sql2005的封装,升级这个dll应该就没有问题了
a) php\
b) Apache\bin\
c) windows\system32\找到相应的目录拷贝ntwdblib.dll,粘贴上去就可以,记得覆盖原来的dllmssql_connect('localhost,1433','sa','sa')一般端口号默认是1433的,如果你没有改过的话!
试试吧,
不行的话
参考
http://cn2.php.net/function.mssql-connect我这边测试通过的