PHP - 我如何告诉为什么mssql_connect()不起作用?

时间:2014-05-01 10:17:27

标签: php sql-server

我正在使用PHP 5.2,通常mssql_connect工作正常 - 但我正在尝试连接到新的MS SQL服务器,它将无法连接。我可能在连接细节或凭据方面有问题,但我无法告知,因为我无法收到错误消息。

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]

澄清:

  • 在服务器上启用了扩展程序
  • 代码适用于现有连接详细信息
  • 我正在使用新的连接详细信息,并且不知道主机名或密码是否错误
  • 我知道代码没有连接,因为我检查它是否已连接
  • 我想找出连接错误 - 就像你可以使用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;
    }

我应该用什么代替???????来获取连接错误消息?

1 个答案:

答案 0 :(得分:-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