2014-05-01 164 views
4

我使用的PHP 5.2,通常mssql_connect工作正常 - 但我想连接到一个新的MS SQL服务器,它不会连接。我可能在连接细节或证书方面出了问题,但我无法辨别,因为我无法收到错误消息。PHP - 我怎么知道为什么mssql_connect()不起作用?

mssql_connect()方法返回false,并且没有可用的连接。

mssql_get_last_message()什么也没有返回 - 那么如何判断我的连接失败的原因?

任何人有任何想法?

在MySQL中,我会使用mysql_error - 但似乎没有与ms_sql等效。

[编辑]

这个问题不是“MSSQL_CONNECT returns nothing - no error but no response either”重复 - 我使用PHP 5.2,代码工作正常,其他连接的详细信息。我需要弄清楚如何输出连接错误 - 而不是连接问题。

[EDIT2]

澄清:

  • 的扩展服务器
  • 代码工作正常,现有的连接细节上启用
  • 我使用新的连接细节和不知道主机名或密码是否有误
  • 我知道代码没有连接,因为我检查是否我t的连接
  • 我想找出连接错误 - 就像你可以用MySQL一样。

示例代码如下:

$db_connection = mssql_connect($host, $user, $pass); 

    $db = mssql_select_db($dbname, $db_connection); 
    if (!$db_connection) { 
     echo "No connection"; 
     echo "connection failed because: " . ???????; 
     die; 
    } 

我到位的???????什么来获取连接错误消息?

+0

可能重复[MSSQL \ _CONNECT没有返回 - 没有错误,但没有任何反应(http://stackoverflow.com/questions/7107172/mssql-connect-returns-nothing-no-错误 - 但是没有回应 - 或者) – unicorn80

+0

不 - 我在问如何获得连接错误 - 没有什么错误的连接。该代码适用于其他连接参数。此外,这是为PHP 5.3 - 并与该版本兼容性问题 – Hippyjim

回答

-2

下面

<?php 
// Server in the this format: <computer>\<instance name> or 
// <server>,<port> when using a non default port number 
$server = 'KALLESPC\SQLEXPRESS'; 

// Connect to MSSQL 
$link = mssql_connect($server, 'sa', 'phpfi'); 

if (!$link) { 
die('Something went wrong while connecting to MSSQL'); 
} 
?> 

见这样,如果连接失败,则可以显示错误。

编号:http://www.php.net/manual/en/function.mssql-connect.php

+0

谢谢 - 但只告诉我失败的东西 - 我已经有了。我需要知道*什么*失败。尝试连接返回的实际错误 - 否则我不知道我做错了什么。 – Hippyjim

+0

您是否在php.ini文件中启用了mssql扩展? – vamsi

+0

是的。请阅读我的问题。该代码适用于其他连接 - 我只需要使用一些新的连接细节。我不知道连接的哪一部分是错误的,因为它不告诉我主机名是否错误或用户名是否错误 - 我需要连接错误。 – Hippyjim

相关问题